まず、クラス ライブラリがその構成を取得する方法は、参照元プロジェクトの構成から取得する方法であることを認識していると言っておきましょう。私の場合、参照プロジェクトは MVC Web アプリケーションです。
これは通常は理にかなっていますが、Web サービスへのアクセスを提供するためだけにクラス ライブラリが存在する場合は、そうではないと思います。Visual Studio には、サービス参照を右クリックして [サービス参照を更新] する機能があります。app.config
これにより、参照元プロジェクトの構成ファイルではなく、クラス ライブラリのファイルが更新されます。app.config
ファイルが単に無視される場合はあまり役に立ちません。
もちろん、新しいバージョンのapp.config
ファイルを別のプロジェクトのファイル (この例では) にコピーし続けることはできますweb.config
が、それは面倒であり、忘れずに行う必要があります。さらに、構成設定をWebサービスプロジェクトに保持する方が意味的に優れていると思います。その Web サービスが URL を変更した場合、プロジェクトを参照するすべてのものに新しい URL を取得してもらいたいと思います。クラス ライブラリを参照する何かが別の URL を使用したい場合、その構成がクラス ライブラリの構成をオーバーライドする可能性がありますが、クラス ライブラリにはデフォルトの一連の設定が必要です。各参照プロジェクトの構成を変更する必要はありません。
これらすべてを念頭に置いて、参照元プロジェクトの構成の値を調べる代わりに、WCF エンドポイントなどのクラス ライブラリの構成を使用するように .NET を強制/ハック/何でもする方法はありますか?