55

我使用以下命名空间将我的项目连接到 sql server:

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 '

但我在该命名空间中没有找到 ConfigurationManager 并且oconnection.Open();消息是

无效操作异常

未处理。

我能做些什么?

4

4 回答 4

85

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

完成此操作后,您应该可以参考System.Configuration.ConfigurationManager.

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

来自 MSDN:ConfigurationManager该类使您能够访问机器、应用程序和用户配置信息。此类替换ConfigurationSettings已弃用的类。

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


编辑:附加信息

在参考InvalidOperationException. 这是在连接字符串未指定数据源或服务器时引起的。我猜你的连接字符串是空的。

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

string str = System.Configuration.ConfigurationManager.
    ConnectionStrings["myconnection"].ConnectionString;
于 2012-12-18T20:20:50.637 回答
30

如果解决方案中有多个项目,则必须添加对System.Configuration每个项目的引用才能ConfigurationManager在其中任何一个中工作。

于 2014-02-19T15:27:26.930 回答
17

在您的项目中添加 System.Configuration.dll 的引用,然后 ConfigurationManager 将可用

于 2014-01-25T11:30:34.153 回答
0

从 nuget 包安装 System.Configuration。然后添加参考。

于 2020-10-02T13:50:37.313 回答