c# - 使用 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
. 这失败了。在同一个解决方案中,有一些控制台应用程序做同样的事情和工作。
解决方案
ASP.NET 不使用 app.config。它使用 web.config。ConfigurationManager 将从适合项目类型的配置文件中读取。你真的不应该在类库中有一个 .config 文件,而是让消费应用程序将配置存储在该项目类型的适当配置文件中。