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

我正在研究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>

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

string key1 = ConfigurationManager.AppSettings["Key1"];
string key2 = ConfigurationManager.AppSettings["Key2"];

我注意到ConfigurationManager返回的key1和key2的值为null.

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

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

谢谢.

解决方法

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

请参阅this answer获取可能的解决方

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....