在VS2005 C#项目中,我添加了对System.configuration的引用。 在对象浏览器中,我可以看到System.Configuration.ConfigurationManager。 在Intellisense System.Configuration中只有旧的ConfigurationSettings,而不是ConfigurationManager。
我的代码 System.Configuration.ConfigurationManager.AppSettings [ “MySetting”]
突出显示为语法错误,无法编译。
在另一个项目中,完全相同的设置工作得很好......任何有关正在发生的事情的线索?
答案 0 :(得分:118)
虽然使用System.Configuration ;命令在using部分自动生成,由于某种原因未设置实际引用。
进入添加引用,。Net标签,然后选择 System.Configuration 。
现在将解析ConfigurationManager。
如果你去完全相同的设置工作的项目并查看引用,你会看到对System.Configuration的引用。
答案 1 :(得分:16)
要回答这个问题(并非已经5次以上没有回答过),可以添加System.Configuration作为项目的参考。
但是我真的要强调的是,很多时候我已经将System.Configuration.dll添加到我的项目的引用中,但是出于特殊原因,有时ConfigurationManager仍然不会出现即使在添加对System.Configuration的引用之后,也在intellisense中。即使我删除了引用并再次添加它。
解决这个问题的简单方法是:
这个简单的练习将使Visual Studio再次运行并停止告诉您没有添加对System.Configuration的引用。这个练习通常可以帮助我解决所有莫名其妙的Visual Studio行为。
我曾经多次在VS2008和VS2010中遇到这种情况,并且每次都有效。
答案 2 :(得分:10)
urgh - PICNIC错误。在解决方案中添加了对错误项目的引用...
答案 3 :(得分:9)
对于在开发ASP.NET WebForms和WinForms之间来回切换的人来说,这个技巧可能会派上用场。
如果您正在使用C#WinForms项目进行开发,您会发现尝试使用ConfigurationManager
来获取app.config
设置会导致以下错误:
当前上下文中不存在名称“ConfigurationManager”
由于ASP.NET项目默认包含此项,因此可能会出乎意料。只需右键单击项目中的“引用”节点,然后查看“.NET”选项卡。向下滚动,您应该找到System.Configuration
。将其添加到您的项目中,您应该已启动并运行。
如果您已将System.Configuration
添加到代码顶部的“使用”部分,则现在应该可以使用以下代码配置设置(例如连接字符串):
con.ConnectionString = ConfigurationManager.ConnectionStrings[sConnection].ConnectionString;
答案 4 :(得分:3)
我认为您需要隐式引用 System.Configuration 程序集。
答案 5 :(得分:3)
来自MSDN文档 -
要使用ConfigurationManager类,您的项目必须引用 System.Configuration程序集。默认情况下,一些项目模板, 与控制台应用程序一样,请不要引用此程序集 手动引用它。
https://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx
答案 6 :(得分:0)
这只是一个猜测,但也许您应该检查您的项目是否至少使用.NET framework 2.0。从.NET 2.0开始,ConfigurationManager类是可用的,如下所示: link on msdn
答案 7 :(得分:0)
答案 8 :(得分:0)
哇——这对我来说很难解决;最后,我发现我的 vb.net 程序只有在包含引用(如预期)并从我的模块中删除“Imports System.Net”语句(如我所料)时才会编译。