5

クラス ライブラリの dll を使用している Web アプリケーションがあります。app.configクラス ライブラリの値にアクセスできません

アクセスしようとしている方法app.config

ConfigurationSettings.AppSettings["conStr"].ToString();

これはnull値を返しています

また、使用しようとするConfigurationManagerと、アセンブリ参照が見つからないか欠落していると表示されます。

System.Configuration の使用も追加されました。

4

3 に答える 3

9

クラス ライブラリの をオーバーライドするため、アプリケーションのAppSettings内に値を配置する必要があります。web.configapp.config

クラス ライブラリ プロジェクトに名前空間への参照を追加すると、ファイルからではなく、ファイルSystem.Configurationから期待する値が取得されます。web.configapp.config

于 2012-11-20T13:19:45.200 に答える
2

プロジェクトにライブラリへの参照を追加しSystem.Configuration、次のようにキーを取得します

ConfigurationManager.AppSettings["conStr"]

Web アプリケーションは、 !web.configではなくファイルを検索することに注意してください。app.config

于 2012-11-20T13:12:51.553 に答える
0

AMembersの答えはうまくいき、あなたを走らせるはずです。しかし、私は自分の図書館にどこに接続すべきかを伝えるのが好きです(「教えてください。尋ねないでください」)。ライブラリに接続文字列を配置させる代わりに、呼び出し元のコードに接続文字列を提供させます。

var myLib = new MyLib(ConfigurationManager.AppSettings["conStr"]);

このように、構成がweb.config / app.config / custom config / Registry / .ini-fileにあるかどうかに関係なく、ライブラリは関係ありません。

于 2012-11-20T13:17:36.077 に答える