私は単一のDLLにコンパイルするクラスを作成したいと思います。このDLLは、既存の製品に機能を追加します。バージョンに依存しないDLL参照をクラスに含めることは可能ですか?
このクラスを動作させるために、カスタムクラスは、基になる製品に含まれるDLLを参照します。これらの参照はコンパイルするために必要です。
すべてここでうまくいき、カスタムクラスがコンパイルされます。私は製品に生成されたDLLをドロップすることができ、すべて正常に動作します。
ただし、この製品にはいくつかのバージョン(マイナーバージョン、サービスパック)があります。このDLLを他人に配布したいのですが、DLLが一致する必要があります。完全に製品のバージョンです。完全な一致がない場合は、次のエラーが発生します。
ファイルまたはアセンブリ をロードできませんでした「Product.Web.UI、バージョン= 3.6.1920.2、 ニュートラル文化=、 なPublicKeyToken = dfeaee0e3978ac79 'または に依存します。見つかった アセンブリのマニフェスト定義では、 はアセンブリ参照と一致しません。 (HRESULTからの例外:0x80131040)
バージョン参照について不安なDLLを作成するにはどうすればよいですか?
うん、試してみた。私の理解は、この設定はコンパイル時にのみ適用されます。つまり、ビルド中に、コンパイラは発見したDLLのバージョンを知っているわけではありません。 ただし、結果として生じるDLLの場合、これらの非特定のDLL参照は、コンパイルに使用されたDLLに基づいて、厳密な名前のアセンブリ参照(バージョン番号を含む)に変換されます。 –