C# 如何将实际ConfigurationSection保存到给定文件?
使用问题:中提供的信息,我找到了助手方法,并将其添加到我的C# 如何将实际ConfigurationSection保存到给定文件?,c#,configurationsection,C#,Configurationsection,使用问题:中提供的信息,我找到了助手方法,并将其添加到我的ConfigurationSection类型: public void SaveAs(string path) { this.SectionInformation.ForceSave = true; System.Configuration.Configuration configRoot = ConfigurationManager.OpenExeConfiguration(null); configRoot.
ConfigurationSection
类型:
public void SaveAs(string path)
{
this.SectionInformation.ForceSave = true;
System.Configuration.Configuration configRoot = ConfigurationManager.OpenExeConfiguration(null);
configRoot.Sections.Add(GetSectionName(), this);
// *
configRoot.SaveAs(path, ConfigurationSaveMode.Full);
}
好的,文件被创建,部分被保存,问题是所有的值都是默认值,而不是实际值。在标有星号的点上,我检查了我的数据,此
对象包含我想要查看的实际值,并在configRoot
中查看,我可以看到它在这一点上有几个部分,还有我的部分,并且它包含正确的值。然而,一件东西被保留(实际值),另一件东西被保存(默认值)
那么,如何保存给定ConfigurationSection
中的所有数据和实际数据呢
当我将保存模式更改为
ConfigurationSaveMode.Modified
时,将保存正确的值,但仅保存我修改的值。我刚刚检查了它,看看保存方法是否能看到实际值。为什么要将null
传递给ConfigurationManager.OpenExeConfiguration
?@Titulum,因为我是从另一篇SO帖子复制的。如果将其替换为ConfigurationUserLevel.None
?@Titulum,会发生什么,与null
的行为相同。您找到解决方案了吗?为什么要将null
传递给ConfigurationManager.OpenExeConfiguration
?@Titulum,因为我是从另一篇SO帖子复制的。如果将其替换为ConfigurationUserLevel.None
?@Titulum,会发生什么,与null
的行为相同。您找到解决方案了吗?