- - PR -
VS2005クラスライブラリでのapp.config編集について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-09 13:59
VS.NET2005+VBで開発をしています。
クラスライブラリのプロジェクトを作成して、データセットファイルを追加し、 TableAdapter構成ウィザードからTableAdapterを作成しました。ウィザードの中で MySettiongsにDBへの接続情報を保存しています。 (ここで設定した値はapp.configに保存されていると思ってるんですが、、、) このDLLをWebサイトのプロジェクトで読み込み、利用しようとしています。 Webサイトのプロジェクト内からライブラリ内のapp.configに保存された DBへの接続情報を変更したいのですが、うまくできません。 Webサイトの発行をすると、ライブラリのapp.configが含まれないため、 Web.configに記述を追加してみましたが、動作しません。 どうすればWebサイトのプロジェクトから、DLL内のapp.configの内容を 変更できますか? 自分なりに調べてみたんですが、ライブラリの「MyProject>Settings.settings」に app.configに記述した値が追加されていて、さらにその値が「Settings.Designer.vb」 ファイルにハードコーディングされているようです。 これではapp.configの値だけを変えても意味がなさそうで、実際にapp.configの値だけ 変更してMySettingsの値を更新しないと、プログラムを実行した時には変更前の MySettingsの値が使われてしまいました。 これではプログラムにハードコーディングしているのと変わりはないので、何か方法が あるような気がするのですが、よくわかりません。教えて下さい。 | ||||||||
|
投稿日時: 2006-10-09 17:05
クラスライブラリでは、設定ファイルはクラスライブラリのものとして用意しても読み込んでくれません。アプリケーションの設定ファイルにすべて記述します。(Webアプリなら、Web.configファイルに、クラスライブラリの設定も記述します。)
ハードコーディングされているのは、デフォルト値です。デフォルト値は、設定ファイルに設定が記述されていなかった場合に使用されます。
動作しませんとはどういう意味ですか?(実行時に例外が発生するのか、コンパイルが通らないのか、それともただ単にデフォルト値が使われてしまうのか。) おそらく、App.configの内容を、Web.configに正しく移せていない気がします。 configSectionsセクションも忘れずコピペしていますか? | ||||||||
|
投稿日時: 2006-10-09 19:17
けんじさん、ありがとうございます。
動作しました。 ご推測の通り、configSectionを移していませんでした。 (症状はデフォルト値が使われている状態でした。) きちんとconfigSectionから移したところ、Web.configで指定した 値で上書きできました。 ありがとうございます! |
1