0

ため、コンパイル時にリダイレクトバインディング:私たちは、コンパイル時にリダイレクトを結合アセンブリについての質問持つ強力な名前のアセンブリ

  • チームV(退役軍人)
  • 製品P1を開発しているP1継続的にチームのVによって開発されたが(ブランチ1.6.xと1.7.x)、プロダクトP1のバージョンは両方のブランチで時間の経過と共に増えています
  • チームNG(新世代)は、プロダクトP1に基づいてプロダクトP2を構築しましたP1ブランチ1.7)
  • 製品P2にはアセンブリA
  • チームNGは、P1ブランチ1.7の特定のアセンブリを参照しているアセンブリA2用のNugetパッケージを作成しました。
  • Now(現在、P1ブランチ1.7の特定のアセンブリを参照しています) Team NGは製品P3を開始し、P2からアセンブリA2を、P1からアセンブリA1を使用する必要があります
  • P1からのアセンブリA1は、Nugetパッケージとしても使用できますが、バージョン1.6(1.7はまだ製品P3では承認されていません)
  • Team NGは今や2つの参照を持つProduct P3を持っています。A2とA1
  • 問題は今、A2がバージョン1.7でA1を参照していますが、バージョン1.6にA1しかありません
  • チームNGは、我々が探している理由ですバージョン1.7

にA1を使用することを許可されていない結合を強く名前のアセンブリのためのコンパイル時にリダイレクトします。私が知る限り(調査によって)、厳密な名前のアセンブリに対してこれを設定すると、 'Specific Version'プロパティは効果がありません。

このようなリダイレクトは可能ですか他の提案はありますか?事前に

多くのおかげ よろしく、app.configを/ web.configファイルのマイケル

答えて

0

bindingRedirect要素は、(コンパイル時ではない)だけで、実行時に適用されます。

コンパイル時に、コンパイラは、プロジェクトファイル内でSpecificVersion要素がTrueに設定されていない限り、バージョン番号が同じ参照を主張しません。

厳密な名前付けと非厳密な名前付けは、これを考慮してはいけません。

も参照してください。How exactly does the "Specific Version" property of an assembly reference work in Visual Studio?

関連する問題