我有一个app.config文件。 我有设置。 我想在构建后修改设置,然后从文件中读取它。 我的意思是我想通过edeting文件来更改设置。 我知道如何更改程序设置但我需要通过编辑文件。
不,我没有尝试这样做:
private void ReadSettings()
{
string appPath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
string settingsPath = Path.Combine(appPath, "app.config");
ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = settingsPath;
System.Configuration.Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);
string value=config.AppSettings.Settings["Type"].Value;
}
我的设置:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="RxTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<MyApp.Properties.Settings>
<setting name="Type" serializeAs="String">
<value>document</value>
</setting>
</RxTest.Properties.Settings>
</userSettings>
</configuration>
问题是“设置”属性中没有任何内容。
我从edeted文件中读取设置是做什么的?
答案 0 :(得分:0)
通过在属性中添加条目,应该会自动将app.config文件中写入的UserSettings添加到其中。
您可以通过以下方式获取属性中的值:
string value = Properties.Settings.Default.Type;
编辑I:
为了确保您始终拥有最新鲜的价值,您可以refresh a section:
ConfigurationManager.RefreshSection(sectionName);
或者您可以自动加载文件:
Properties.Settings.Default.Reload();