3

appbaseのサブフォルダーからロードしたいアセンブリがあります。AppDomainの作成中に、そのサブフォルダーをPrivateBinPathに設定しました。

問題は、appbaseに同じDLLの別のバージョンがあることです。見た目からすると、リゾルバーは最初に間違ったバージョンを検出し、不一致があると言って停止します。その結果、正しいバージョン(サブフォルダーにある)がロードされることはありません。

appbaseでこれらのDLLを削除してこれをテストしたところ、問題が修正されました。間違ったバージョンが見つかった場合でも検索を強制する方法はありますか?

4

2 に答える 2

2

あなたが使用することができますAppDomainSetup.PrivateBinPathProbe

AppDomainSetup.PrivateBinPathProbe = "x"

編集:これを十分ではない別の値に設定するだけですnull。このMSDNエントリも参照してください。

http://msdn.microsoft.com/en-us/library/system.appdomainsetup.privatebinpathprobe.aspx

于 2012-04-04T23:28:50.857 に答える
1

だけを使いたいPrivateBinPathですか?その場合、PrivateBinPathProbenull以外の文字列参照に設定できるようです。

このプロパティをString.Empty( "")を含むnull以外の文字列値に設定して、アプリケーションの検索パスからアプリケーションディレクトリパス(つまり、ApplicationBase)を除外し、PrivateBinPathでのみアセンブリを検索します。

もちろん、を含めたい場合は役に立ちませんが、設定ApplicationBaseでを使用してください。PrivateBinPath

于 2012-04-04T23:29:00.997 に答える