私はいくつかのUserControlsを含むWinFormプロジェクトを持っています。このWinFormプロジェクトには、別のソリューションに存在する別のプロジェクト(クラスライブラリ)から作成されたアセンブリ(lib.dll
と呼びます)への参照があります。デザイン時にクラスライブラリから設定ファイルを読み込む代わりに?
ここで、UserControls
のいくつかはlib.dll
を呼び出し、app.config
ファイルから値を返します。実行時にlib.dll
が正常に動作し、必要なデータが返されますが、設計時には、app.config
セクションがNULL
(例外は仕様)であるため、lib.dll
から例外が発生しています。
今、私は、各コントロールを通過し、
if(!DesignMode) { //code }
でLIBに呼び出し、任意のコードをラップしかし、それは行くとすることを適用するためのコントロールがたくさんある可能性があります。私はそれがよりエレガントな、次にDesignModeプロパティをテストする、グローバルにできることはありますか?
左下2つのコメントに応答して、編集
:提供ソリューションが動作するように表示されません。私の問題を引き起こしているアセンブリは、app.configと同じディレクトリにあります。一般的なディレクトリ構造は、この
- 参照設定]フォルダのようないくつかの中
- 設定(フォルダ)
- appsettings.config
- app.configを
- lib.dll
app.config
引っ張るように見えますConfiguratにあるその他の設定ファイル(appsettings
、cnx
文字列など)イオンディレクトリ。私の例外の場合、取得しようとしている値はapp.config
によって参照されるこれらの付属の設定ファイルの1つにあります。
dllを含むディレクトリにapp.configファイルのコピーを追加しようとしましたか?ちょうど馬鹿。 – Khan
@Jeffは正しく、2つのことができます。app.configを他のプロジェクトへのリンクにしてから、dll(Build Type:None)で展開しないように設定できます。 –
返信いただきありがとうございます。あなたのソリューションはどちらも動作しませんが、私は元のポストを更新して、おそらく問題の詳細を明らかにしました。 – dparsons