ConfigurationManager读取错误的文件 - Web.config而不是App.config

nom*_*mad 9 asp.net-mvc configurationmanager

我正在研究ASP.NET MVC项目,并决定将一些功能提取到一个单独的类库项目(在同一个解决方案中).

我有些感动的元素<appSettings></appSettings>Web.config主项目(我们称之为项目A),以App.config在类库项目(我们称之为项目B).我添加了对System.Configuration.dll的引用以访问项目B中的ConfigurationManager.

示例App.config文件用于项目B,如下所示.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="Key1" value="Value1"/>
    <add key="Key2" value="Value2"/>
  </appSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

我按如下方式访问这些设置(在项目B中).

string key1 = ConfigurationManager.AppSettings["Key1"];
string key2 = ConfigurationManager.AppSettings["Key2"];
Run Code Online (Sandbox Code Playgroud)

我注意到了key1key2返回的值ConfigurationManagernull.

在调试时,我看到项目A中ConfigurationManager原始的拉取值Web.config(另一<appsettings></appsettings>部分是我没有移动到项目B的部分)!

这对我没有任何意义.有人能告诉我我做错了什么,所以我可以访问App.config中的设置吗?

谢谢.

hai*_*770 7

App.config不会加载驻留在类库项目中(至少不需要额外的努力),框架加载的唯一配置是客户端配置(即Web.config引用和使用类库的项目).

请参阅此答案以了解可能的解