web-dev-qa-db-ja.com

configurationManagerは名前空間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 '

しかし、私はその名前空間にConfigurationManagerが見つかりませんでした。oconnection.Open();のメッセージは

InvalidOperationException

未処理でした。

私に何ができる?

47
Mohibullah

参照に移動し、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で、接続文字列の場所を確認します。要素に該当する場合は、ConnectionStringsではなくAppSettingsを検索するようにコードを変更する必要があります。

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

ソリューションに複数のプロジェクトがある場合は、ConfigurationManagerがそれらのいずれかで機能するように、参照System.Configurationを各プロジェクトに追加する必要があります。

28
kschieck

プロジェクトにSystem.Configuration.dllの参照を追加すると、ConfigurationManagerが使用可能になります

15
Amit K.S