System.Configuration.ConfigurationManager不可用?

kpo*_*ock 54 .net configurationmanager

在VS2005 C#项目中,我添加了对System.configuration的引用.在对象浏览器中,我可以看到System.Configuration.ConfigurationManager.在Intellisense System.Configuration中只有旧的ConfigurationSettings,而不是ConfigurationManager.

我的代码System.Configuration.ConfigurationManager.AppSettings ["MySetting"]

突出显示为语法错误,不编译.

在一个不同的项目中,完全相同的设置工作正常...任何线索关于发生了什么?

小智 120

虽然 使用System.Configuration ; 命令在使用部分自动生成,由于某种原因未设置实际参考.

进入添加引用,.Net选项卡,然后选择System.Configuration.

现在将解析ConfigurationManager.

如果您转到完全相同的设置工作的项目并查看引用,您将看到对System.Configuration的引用.


dys*_*oko 16

要回答这个问题(并不是已经5次以上没有回答过),可以添加System.Configuration作为项目的参考.

然而,我真正想要强调的是,在很多场合我已经将System.Configuration.dll添加到我的项目的引用中,但是出于任何特殊原因,有时即使在添加对System的引用之后,ConfigurationManager仍然不会出现在intellisense中.组态.即使我删除了引用并再次添加它.

这个问题的简单解决方案是:

  1. 将System.Configuration.dll的引用添加到项目中
  2. 保存文件
  3. 保存您的解决方案
  4. 关闭给您带来困难的Visual Studio实例
  5. 重新打开您的解决方案

这个简单的练习将使Visual Studio再次运行,并停止告诉您没有添加对System.Configuration的引用.这个练习通常可以帮助我解决所有无法解释的Visual Studio行为.

我曾经多次在VS2008和VS2010中遇到过这种情况,每次都可以使用.

  • 对于所有的头痛,这应该不是解决方案.但事实确实如此. (2认同)
  • @DonRolling讨厌不是吗:D?很高兴我能帮助你. (2认同)

kpo*_*ock 10

urgh - PICNIC错误.在解决方案中添加了对错误项目的引用...


小智 9

对于在开发ASP.NET WebForms和WinForms之间来回切换的人来说,这个技巧可能会派上用场.

如果您正在使用C#WinForms项目进行开发,您会发现尝试使用a ConfigurationManager来获取您的app.config设置将导致以下错误:

"ConfigurationManager"名称在当前上下文中不存在

由于ASP.NET项目默认包含此项,因此可能会出乎意料.只需右键单击项目中的"引用"节点,然后查看".NET"选项卡.向下滚动,您应该找到System.Configuration.将此添加到您的项目中,您应该启动并运行.

添加对System.Configuration的引用

如果您已经添加System.Configuration到代码顶部的使用部分,您现在应该能够使用以下代码的配置设置(例如连接字符串):

con.ConnectionString = ConfigurationManager.ConnectionStrings[sConnection].ConnectionString;
Run Code Online (Sandbox Code Playgroud)


小智 5

  1. 转到管理 NuGet 包
  2. 浏览系统.配置
  3. 安装包 System.Configuration.ConfigurationManager。看法