プロジェクトには、MyNamespace.MyConfigという名前のカスタム構成セクションクラスがあります。クラスはC#ライブラリMyNamespace.MyAssembly.dllに保存されます。
プロジェクトにはコンソールアプリケーションもあります。クライアントは、dllと同じ方法、つまりMyNamespace.MyAssembly.exeが呼び出されることを望んでいます。
App.configファイルには次の定義があります。
<section name="myConfigSection" type="MyNamespace.MyConfig, MyNamespace.MyAssembly"/>
ここで問題となるのは、アプリケーションがMyConfigクラスを見つけられないことです。これは、exeファイルで間違ったアセンブリを探しているためです。
最初のアイデアは、アセンブリの名前をより具体的にすることでした。そのため、ConfigurationManagerは、exeではなくdllを検索する必要があることを認識しています。
<section name="myConfigSection" type="MyNamespace.MyConfig, MyNamespace.MyAssembly.dll"/>
残念ながら、これは役に立ちません、とアプリケーションは言います、MyNamespace.MyAssembly.dllという名前のアセンブリを見つけることができません。
これを機能させる唯一の方法は、アプリケーションアセンブリの名前をMyNamespace.MyAssembly.Consoleに変更することですが、クライアントはこれに同意しません。
MyNamespace.MyAssembly.exeではなくMyNamespace.MyAssembly.dllでMyNamespace.MyConfigクラスを検索するようにConfigurationManagerに指示するにはどうすればよいですか?