configurationpipe理器不存在于命名空间System.Configuration中

我已经使用下面的命名空间来连接我的项目到sql服务器:

using System.Configuration; 

也用了

 string str=System.Configuration.ConfigurationSettings.AppSettings["myconnection"]; SqlConnection oconnection = new SqlConnection(str); oconnection.Open(); 

当我运行程序时,出现错误并显示消息

'System.Configuration.ConfigurationSettings.AppSettings'已经过时。这个方法已经过时了,它已经被'System.Configuration! System.Configuration.ConfigurationManager.AppSettings'

但我没有find该命名空间中的ConfigurationManager和oconnection.Open(); 消息是

出现InvalidOperationException

未处理。

我能做什么?

转到引用,并添加对System.Configuration的引用

一旦你完成了这个,你应该能够引用System.Configuration.ConfigurationManager

 string str = System.Configuration.ConfigurationManager.AppSettings["myconnection"]; SqlConnection oconnection = new SqlConnection(str); oconnection.Open(); 

从MSDN:通过ConfigurationManager类可以访问机器,应用程序和用户configuration信息。 该类将替代已弃用的ConfigurationSettings类。

http://msdn.microsoft.com/en-us/library/system.configuration.configurationmanager.aspx


编辑:Addiitonal信息

引用InvalidOperationException 。 这是在连接string未指定数据源或服务器时引起的。 我猜你的连接string是空的。

在你的web.config中检查你的连接string的位置。 如果它属于元素,那么您将需要更改您的代码来searchConnectionStrings而不是AppSettings

 string str = System.Configuration.ConfigurationManager. ConnectionStrings["myconnection"].ConnectionString; 

如果解决scheme中有多个项目,则必须将引用System.Configuration添加到其中的每个项目中,以使ConfigurationManager能够在任何项目中工作。

在你的项目中添加一个引用:System.Configuration.dll,那么ConfigurationManager将是可用的