Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用App.Config在MVC中共享库_C#_Asp.net Mvc - Fatal编程技术网

C# 使用App.Config在MVC中共享库

C# 使用App.Config在MVC中共享库,c#,asp.net-mvc,C#,Asp.net Mvc,我的解决方案中有一个项目是类库。解决方案中有两个控制台应用程序引用此库。库中有一个App.config,我通过链接添加到控制台应用程序,一切都很好 我刚刚向解决方案添加了一个web应用程序,并引用了类库。类库有多个引用,它们的行是var foo=ConfigurationManager.AppSettings[“foo”]。这在控制台应用程序中可以正常工作,但在运行web应用程序时,我会遇到一个异常,即值不能为null。参数名称:ConfigurationManager访问行上的Value“ 我

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

我刚刚向解决方案添加了一个web应用程序,并引用了类库。类库有多个引用,它们的行是
var foo=ConfigurationManager.AppSettings[“foo”]。这在控制台应用程序中可以正常工作,但在运行web应用程序时,我会遇到一个异常,即
值不能为null。参数名称:ConfigurationManager
访问行上的Value“

我已修改了我的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>

我仍然无法让事情顺利进行



请进一步澄清。Web应用程序调用类库中的方法。类库使用
ConfigurationManager
。这是失败的。在同一个解决方案中,有一些控制台应用程序执行相同的操作和工作。

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

@mason将其作为answer@mason,我可以用一个例子说明如何在三个不同的项目中不重复相同的信息。共享库实际上并没有使用app.config,它是由其他项目提供的。它恰好在物理上存在,但被其他链接使用。您有一个web应用程序和一个控制台应用程序。他们可能会使用相同的配置信息,但每个人都需要自己的配置信息副本。@mason,您有什么建议作为解决方案,以便同一解决方案中的3个不同项目(2个控制台和1个web)都有相同的配置信息传递到库中,而不必有重复的文件(存在彼此不同步的风险)?将相同的配置放在每一个配置中。问题已解决。进行配置的方法有无数种:将其存储在配置数据库中、配置web服务、环境变量、自定义配置文件等,或者让部署过程注入正确的配置值。只需选择一些有效的方法即可对你来说很好。