目前:
Using ConfigurationManager to load config from an arbitrary location 我发现了什么似乎是一个解决方案。我正在处理的项目使用网络上的appSettings.config文件位置。但是当我尝试使用引用的代码时:
System.Configuration.ConfigurationFileMap fileMap = new ConfigurationFileMap("Z:\Settings\appSettings.config"); //Path to your config file
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
到目前为止一切顺利。 appSettings.config文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="Environment" value="Development" />
</appSettings>
</configuration>
然后我进入以下这一行:
var settings = configuration.AppSettings.Settings;
或使用它的任何东西,比如Settings.Count,我得到一个无效的强制转换异常。基本上,我如何从中获得“环境”的价值?
答案 0 :(得分:6)
我发现这有效:
System.Configuration.ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = @"Z:\appSettings.config"; //Path to your config file
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); // OpenMappedMachineConfiguration(fileMap);
return configuration.AppSettings.Settings["Environment"].Value;
这没有错误。