0

いくつかのバインディング情報を定義した App.config フィールドがあります。ユーザーが必要なときにいつでも変更できるように、この情報を外部ファイルに入れたいと思います。誰でもそれを実装する方法について考えがありますか?

前もって感謝します

4

1 に答える 1

0

アセンブリバインディングのリダイレクトについて話していると仮定すると...

ランタイムは、App.exe.config ファイルを使用してバインド リダイレクトを見つけます。コードを実行できるようになるまでにランタイムはすでに初期化されているため、通常のマネージド アプリケーションではこれについて何もできないと思います。

CLR ホスティング API を使用する管理されていない "shim" (C++ の exe など) がある場合は、AppDomain をセットアップするときに使用する構成ファイルの名前を指定できます。しかし、バインディング リダイレクトをメインのアプリケーション構成から切り離すことはできないと思います。

他の唯一のオプションは、AppDomain.AssemblyResolveイベントを処理してバインディングの失敗を処理することです。ただし、ランタイムは、このイベントを発生させる前にアセンブリをプローブするためのすべてのオプションを使い果たすため、コストがかかる可能性があります。

于 2012-06-26T05:51:25.900 に答える