署名されたアセンブリを参照しています。実行時には、コンパイルしたアセンブリだけでなく、そのアセンブリの任意のバージョンを使用しても問題ありません。
これを達成する方法は?
署名されたアセンブリを参照しています。実行時には、コンパイルしたアセンブリだけでなく、そのアセンブリの任意のバージョンを使用しても問題ありません。
これを達成する方法は?
いいえ、うまくいきません。CLR はアセンブリのバージョン番号を確認し、メイン プログラムがコンパイルされたものを取得することを期待しています。app.config ファイル内の<bindingRedirect>
要素を使用して、別のバージョンでも問題ないことを納得させる必要があります。
滑りやすい坂です。アセンブリのパブリック インターフェイスが変更され、クライアントの再コンパイルが必要な場合にのみ、[AssemblyVersion] 属性を変更することを検討してください。ここで得られる例外は、実際の問題を特定するものです。これは別の種類の滑りやすい坂道ですが、よりコントロールしやすい坂道です。
比較のために、これは .NET Framework のすべての基本アセンブリが機能する方法です。.NET 2.0 RTM と 3.5 SP1 の間で、多くの目に見えない修正プログラムを含め、多くのリビジョンがありました。しかし、[AssemblyVersion] はまだ 2.0.0.0 であり、Microsoft は [AssemblyFileVersion] のみを変更します。
IDEで、参照に対して「特定のバージョン」がfalseに設定されていることを確認するか<SpecificVersion>False</SpecificVersion>
、csprojの参照に追加します。