0

私のアプリケーションは、バージョンが大幅に増加するアセンブリを参照しています。

falseビルドの問題が発生しないように、Visual Studio リファレンスで「特定のバージョン」を設定できますが、実行時に任意のバージョンで作業できる必要があります。

私が見る限り、2つのオプションがあります:

  1. dll のパブリッシャーがパブリッシャー ポリシー ファイルを使用し、アセンブリ バインディング リダイレクトを採用するように要求します。

  2. を使用してアセンブリを動的にロードしReflectionます。

ここで、オプション 1 では、アセンブリ サプライヤがこの手法を使用するよう説得できない可能性があります。このアセンブリのリリース数が原因で、サプライヤの構成に大量の大きなリダイレクトが含まれているため、これを先取りしています。

オプション 2 では、VS Intellisense がもたらす柔軟性と使いやすさを維持したいので、このインスタンスでは Reflection を使用しないことをお勧めします。

それで、私の質問は次のとおりです。3 番目のオプションはありますか、それとも最初の 2 つのオプションについての私の懸念は本当に重要ではありませんか?

4

1 に答える 1

1

オプション 2a: リフレクションを使用して、リリース ビルドのみでロードします。AssemblyResolve イベントをオーバーライドし、バージョン管理の競合が原因で失敗した場合はアセンブリを手動で読み込みます。

オプション 3: バージョン番号を変更しないでください。(ビルド番号が必要な場合は、アセンブリ情報の別のフィールドに入れて、異なるビルドを区別できるようにしますが、公開されている API が変更されていない場合は、それを新しいバージョンと見なさないでください)

于 2012-05-29T14:14:41.420 に答える