首页 > 解决方案 > 使用 App.Config 在 MVC 中共享库

问题描述

我的解决方案中有一个项目,它是一个类库。我在解决方案中有两个引用此库的控制台应用程序。库中有一个 App.config,我通过链接添加到控制台应用程序,一切都很好。

我刚刚在解决方案中添加了一个 Web 应用程序并引用了类库。类库有多个引用,类似于var foo = ConfigurationManager.AppSettings["Foo"];. 这在控制台应用程序中运行良好,但是在运行 Web 应用程序时,我得到一个异常,"Value cannot be null. Parameter name: value"即在线ConfigurationManager访问。

我已经修改了我的 web.config 以匹配以下内容:

<configuration>
  <appSettings file="App.config">
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
  </appSettings>

我已将app.config作为现有对象的对象作为链接添加到 Web 应用程序项目中。我已将其设置为在构建时始终复制。

我已经看过这个仍然无法让事情正常进行。


进一步澄清。Web 应用程序调用类库中的方法。类库使用ConfigurationManager. 这失败了。在同一个解决方案中,有一些控制台应用程序做同样的事情和工作。

标签: c#asp.net-mvc

解决方案


ASP.NET 不使用 app.config。它使用 web.config。ConfigurationManager 将从适合项目类型的配置文件中读取。你真的不应该在类库中有一个 .config 文件,而是让消费应用程序将配置存储在该项目类型的适当配置文件中。


推荐阅读