2011-07-27 23 views
1

私の質問は設定ファイル、またはdll.configはクラスライブラリプロジェクト(dll)です。影響を受ける設定ファイルの変更のためにdllをコンパイルする必要がありますか?VB.NETクラスライブラリdll.configファイル

私が気づいた問題は、別のソリューションへの参照を自分のdllに追加し、configファイルで更新したにもかかわらず、テストデータベースを指す接続文字列がまだ残っていることです。

コンパイルする必要がある場合は、設定ファイルを取得する必要がありますか?

答えて

1

DLL(クラスライブラリ)は設定ファイルを使用しません。アプリケーションの設定ファイルを使用して設定データを設定する必要があります。

あなたが本当に望むのであれば、クラスライブラリに設定ファイルを使用させることができますが、それはクラスライブラリIMOの目的に反してベストプラクティスではないと思います。

+0

私のデバッグフォルダには、DocDb2Model.dllとDocDb2Model.dll.configがあります。 .configファイルは、プロジェクト設定で追加した設定から作成された1つのVSです。私が抱えている問題は、.configファイルに変更を加えると影響がないようです。 – user842818

+0

私は同意します。ベストプラクティスとしては、.exeが設定ファイルを読み込み、必要な情報(たとえば接続文字列、フォルダパスなど)をメソッドパラメータとしてdllに渡すことをお勧めします。 – ChrisNel52

+0

それは奇妙です - あなたはなぜ設定ファイルを持っているのかわかりません。あなたが自分でIMEを追加しない限り、クラスライブラリには付属していません。設定ファイルがそこにあっても、DLLによって使用されることはありません。 – Tim

1

いいえ、設定変更を有効にするためにdllをコンパイルする必要はありません。

dllファイルが設定ファイル(app.configまたはweb.config)から読み取られる場合、dllファイルは、参照ファイルである実行可能ファイルの設定ファイルを読み込みます。

+0

Chrisが述べたように、あなたのDLLはそれを参照しているアプリケーションの設定ファイルから読み込んでいます。 .NET DLLは、独自の設定ファイルから読み込みません。 –

+0

Visual StudioはDLL設定ファイルを検出し、アプリケーションの設定ファイルにそれらを含めますか? –

3

DLLのApp.configフォームからconfig要素を、DLLを参照するアプリケーションの構成ファイルにコピーする必要があります。 WebアプリケーションでDLLを参照する場合、要素をweb.configにコピーする必要があります。 WinAppで参照する場合は、WinAppに設定ファイルがあることを確認し、そのファイルに要素をコピーする必要があります。

関連する問題