Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将实际ConfigurationSection保存到给定文件?_C#_Configurationsection - Fatal编程技术网

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
的行为相同。您找到解决方案了吗?