.NET Frameworkには、厳密なアセンブリ識別機構が盛り込まれており、Visual Studioで作成した実行ファイルやアセンブリは、それらが依存するアセンブリを名前とバージョンおよびその他の情報を使って判別します。
この仕組みは、DLL Hellを解消するためのもので、間違ったバージョンのアセンブリを参照することによる誤動作を避け、本来のバージョンのアセンブリを確実に参照することを目的としています。この機構により、Visual Studioで作成した実行ファイルやアセンブリは、それらが依存するアセンブリと同名のアセンブリが存在していても、アセンブリバージョンが一致しなければ動作しません。
1. バージョン管理ポリシー
機能改善または不具合修正による修正版では、通常アセンブリバージョンとファイルバージョンの両方を変更します。この場合、修正版適用後にプロジェクトをリビルドする必要があります。
また、名前空間やアセンブリ名等の変更がある場合には、変更点を吸収するため、移行情報や移行ツールを利用してソースコードを修正する必要がある場合もあります。なお、軽微な変更や十分な互換性が保たれる場合は、ファイルバージョンだけを変更する場合もあります。この場合、既存のプロジェクトのリビルドやソースコードを変更する必要はありません。
変更の程度 |
名前空間やアセンブリ名 |
アセンブリバージョン |
ファイルバージョン |
ソースの変更 |
再ビルド |
重大な変更 |
更新される |
更新される |
更新される |
必要 |
必要 |
通常の変更 |
現状のまま |
更新される |
更新される |
不要 |
必要 |
軽微な変更 |
現状のまま |
現状のまま |
更新される |
不要 |
不要 |
2. バージョンの確認
プロジェクトで使用しているアセンブリのアセンブリバージョンとファイルバージョンは以下の手順で確認できます。
- Visual Studioを起動し対象となるプロジェクトを開きます。
- フォームの[デザイン]ページでInputMan for ASP.NETのコントロールを選択します。
- プロパティウィンドウで [バージョン情報] のリンクをクリックしてください。
- 表示されたダイアログの「製品の詳細情報:」にバージョンが表示されます。
依存関係にあるアセンブリを正しく動作させるには、それらのアセンブリバージョンが互いに適合していることが必要です。たとえば、最新版のInputMan for ASP.NETでは、それぞれのリリースに適合したリソースファイル(*.resources.dll)を使用します。
ファイル名 |
アセンブリ Ver. |
ファイル Ver. |
更新日付 |
GrapeCity.Web.Input.v80.dll |
8.0.2018.427 |
8.0.2018.0427 |
2018年4月27日 |
8.0.2017.830 |
8.0.2017.0830 |
2017年8月30日 |
8.0.2016.1130 |
8.0.2016.1130 |
2016年11月30日 |
8.0.2016.415 |
8.0.2016.0415 |
2016年4月15日 |
8.0.2015.1218 |
8.0.2015.1218 |
2015年12月18日 |
8.0.2015.929 |
8.0.2015.0929 |
2015年9月29日 |
8.0.2015.225 |
8.0.2015.0225 |
2015年2月25日 |