使用web.config时,Configuration类不可用

时间:2010-01-16 00:45:50

标签: c# asp.net-mvc namespaces web-config

我想访问web.config文件的“appSettings”部分。根据MSDN和其他多个来源,以下内容应该有效:

System.Configuration.Configuration config = 
    WebConfigurationManager.OpenWebConfiguration("/rootPath");

我在第二个配置(System.Configuration。配置)上收到此错误:

  

类型或命名空间名称   “配置”中不存在   命名空间'System.Configuration'(是   你错过了一个程序集引用?)

我在系统上收到了一个额外的错误(系统 .Configuration.Configuration):

  

类型   'System.Configuration.Configuration'   在一个不是的程序集中定义   引用。您必须添加引用   汇编'System.Configuration,   版本= 2.0.0.0,文化=中立,   公钥= b03f5f7f11d50a3a”。

解决第一个错误,我引用了System.Configuration。当我查看对象浏览器时,它包含Configuration的类定义。

解决第二个错误,引用版本为2.0.50727。有版本2.0.0.0吗?

删除后弹出第二个错误,并重新添加对System.Configuration的引用。此外,重新添加引用后,它现在在我的引用中显示为“System。 c onfiguration”。请注意小写c。

附加说明
我尝试过的事情都失败了:

  • 已删除并添加了对该引用的引用 System.Configuration
  • 删除了项目的所有引用并将其添加回来
  • 从SVN检查了一个干净的解决方案

我创建了一个测试解决方案,在System.Configuration命名空间中访问该类没有任何问题。

关于发生了什么的任何想法(我是如何做到这一点的)?我可以尝试修复哪些途径?

2 个答案:

答案 0 :(得分:2)

这太愚蠢了,我想删除这个问题,然后悄悄地退开。也许它会对其他傻瓜有用。 Eilon走在正确的轨道上,我正在添加对错误项目的引用。

我正处于紧张状态,试图让项目生产准备好并且不是非常专注(试图同时做几件事)。好吧,我还是新手,希望下次我会深吸一口气而不是压力......然后用连接字符串存储在web配置中启动项目。

答案 1 :(得分:1)

尝试删除对System.Configuration的引用并从头开始执行:您应添加version=2.0.0.0(对于运行时版本v2.0.50727)。然后,要阅读appSetting,您可以写下这个:

string value = System.Configuration.ConfigurationManager.AppSettings["yourKey"];