我的解决方案中有一个项目类库。我在解决方案中有两个引用该库的控制台应用程序。我通过链接添加到控制台应用程序中的库中有一个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
。这失败了。在同一解决方案中,控制台应用程序可以执行相同的操作并且可以正常工作。
答案 0 :(得分:1)
ASP.NET不使用app.config。它使用web.config。 ConfigurationManager将从适合项目类型的配置文件中读取。你真的不应该在类库中有.config文件,而是让消费应用程序将配置存储在该项目类型的相应配置文件中。