2009-11-02 77 views
3

我根本无法获取Visual Studio 2005来找到System.Configuration.ConfigurationManager类。下面是代码:无法获得对ConfigurationManager的引用

using System.Configuration; 

... 

x = ConfigurationSettings.AppSettings["MySetting"] 
// The name 'ConfigurationManager' does not exist in the current context 

x = System.Configuration.ConfigurationManager.AppSettings["MySetting"] 
// The type or namespace name 'ConfigurationManager' does not exist in the 
// namespace 'System.Configuration' (are you missing an assembly reference?) 

我绝对,积极在该项目中,以System.Configuration参考,它肯定是在正确的项目。该DLL是2.0.0.0版,运行时版本是2.0.50727 - 与其他所有版本完全相同。我尝试删除引用并重新添加它。奇怪的是,当它显示在项目的参考文件夹中时,它显示为'System.configuration' - 小写'c'。

Visual Studio可以找到System.Configuration.ConfigurationSettings类,除了它已过时的警告外没有任何问题。该项目是一个Web项目,代码位于WebControl的代码隐藏之中。

任何想法发生了什么?

回答

2

参考中的小写字母“c”是正常的。你的代码对我来说很好。我想知道您向我们展示的片段之外是否存在问题。尝试构建一个全新的解决方案,只需调用其参考配置即可。证明这是有效的。

+0

感谢您的建议。事实证明,.NET运行时全部搞砸了,因为它安装的帐户没有足够的权限。完全重新安装一个'上帝'帐户解决了这个问题。很奇怪。 – TallGuy 2009-11-04 00:07:12

13

您是否添加了对System Assembly System.Configuration.dll的引用?

IIRC AppSettings位于BCL核心库中,2.0 ConfigurationManager在单独的程序集中。

+0

我有完全相同的问题。 VS2005似乎知道System.Configuration命名空间的事实让我感到不快。一旦我添加了对System.Configuration.dll的引用,ConfigurationManager就可以使用了。谢谢! – 2013-07-22 03:51:51