Proj1 と Proj2 の 2 つのプロジェクトを含むソリューションがあります。ここで、Proj1 はスタートアップ プロジェクトです。
Proj1 は (Proj2 のクラスを呼び出すために) Proj2 を参照し、1.0.0.0 でバージョン管理された A と呼ばれるサード パーティの DLL も参照する既存のコードがあります。
Proj2 は同じサード パーティの DLL A を参照しますが、このプロジェクトのクラスは 1.0.0.0 では利用できなかった新しい実装を必要とするため、バージョン 2.0.0.0 で参照します。
これまでのところ、次のことを試しました。1. A を参照するときに「特定のバージョン」を true に切り替えました。 v2.0.0.0 DLL を含むサブフォルダーを指すように、app.config に「プローブ パス」を追加しました。
私が望むのは、通常の \bin\ フォルダーにある A v1.0.0.0 と \bin\v2Folder にある A v2.0.0.0 を確認することです。Proj1.exe を実行すると、Proj1 の古いコードが引き続き表示されることを期待しています。 A v1.0.0.0 のメソッドを呼び出し、Proj2 によって実装されているものを呼び出すときは、A v2.0.0.0 のメソッドのみを呼び出します。
問題は、ソリューションをビルドすると、v1.0.0.0 が v2.0.0.0 に置き換えられ、ビルド ログに「A、Version=2.0.0.0、Culture=neutral、 PublicKeyToken=blah" および "A, Version=1.0.0.0, Culture=neutral, PublicKeyToken=blah". "A, Version=2.0.0.0, Culture=neutral, PublicKeyToken=blah" を任意に選択する.".
誰か助けてくれませんか?