从另一个项目的web.config中读取AppSetting键

时间:2015-11-02 10:21:05

标签: c#

我在appSetting阅读Web.Config时面临一些奇怪的问题 我总是得到null

为什么会这样?

的Web.config

<!-- Message setting-->
<add key="applicationType" value="release"/>

代码:

string applicationType = ConfigurationManager.AppSettings["applicationType"];

值得一提

Web.config是另一个项目的一部分,我试图从另一个项目中访问它,

3 个答案:

答案 0 :(得分:1)

Web.config必须是项目的一部分已经开始。

enter image description here

如果您已启动BotServiceHost,则ConfigurationManager将在config内使用BotServiceHost。但是,例如,如果您从同一个dllBotServiceHost)的控制台应用程序(沙箱)开始,则必须在此沙箱中添加另一个config文件!

使用app.configweb.config

并不重要

答案 1 :(得分:0)

  

值得一提

     

Web.config是另一个项目的一部分,我正在尝试访问它   来自另一个项目,

这是你的问题。

ConfigurationManager.AppSettings使用与您的条目程序集绑定的配置文件,您不能使用其他项目中的一个。

在此特定实例中,您的web.config应该是项目的一部分,位于应用程序的根目录中

答案 2 :(得分:0)

如果您的应用程序包含多个Visual Studio项目,则需要确保使用相同项目而不是解决方案中的其他项目访问密钥。

如果你的密钥属于解决方案中的另一个项目,那么这里的代码也是如此。

ConfigurationFileMap fileMap = new ConfigurationFileMap(file); //Path to your config file
Configuration configuration = ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
string applicationType = configuration.AppSettings.Settings["applicationType"].Value;

请按照以下链接获取更多信息。
ConfigurationManager.OpenExeConfiguration Method (String)