- PR -

アセンブリバージョンとファイルバージョンについて

1
投稿者投稿内容
Mr.CB
会議室デビュー日: 2004/05/13
投稿数: 17
投稿日時: 2004-06-16 13:03
お世話になっております。
初歩的な質問で申し訳ございませんが、よろしくお願い致します。

VS.NET 2003 Crystal Reports セキュリティ・アップデートを行いました。
更新プログラムをインストール後、「CrystalDecisions.Web.dll」について
確認してみたところ、アセンブリバージョンは「9.1.5000.0」で変更はなく、
一方、ファイルバージョンは「9.1.9800.0」から「9.1.9800.9」に変更され
ていました。
(.NET Frameworkのバージョンは1.1です。)

初心者的な考えでは、ファイルバージョンが変更されたら、アセンブリバージョンも
変更されそうな感じなのですが・・・

両者の違いについて、ご教授していただけないでしょうか?
何卒、宜しくお願いいたします。

nodera
大ベテラン
会議室デビュー日: 2003/09/08
投稿数: 200
投稿日時: 2004-06-17 20:18
厳密名のついたアセンブリ(A)を参照している別のアセンブリ(B)は、実行する際にバージョンの確認を行います。元々参照していたバージョンのアセンブリが無い場合、エラーになります。そのバージョンの確認につかわれるのがアセンブリバージョンです。アセンブリ(B)を変更せずに、新しいアセンブリ(A)を使用するためには、リダイレクトという設定を行わなければいけません。(リダイレクトの方法は複数あります)
しかし、ファイルバージョンはこのアセンブリのバージョン確認には使用されず無視されます。

思うにパッチの際にリダイレクトの方法を提供するのが面倒だった(上書きしたかった?)ため、ファイルバージョンだけ変えて、アセンブリバージョンを変えなかったのではないでしょうか?<まったくの推測です。(そんな管理の仕方でいいのか?アセンブリバージョン・・・難しい;;)
Mr.CB
会議室デビュー日: 2004/05/13
投稿数: 17
投稿日時: 2004-06-18 11:40
nodera様
ご返答ありがとうございます。m(__)m

アセンブリバージョンのリダイレクトや、アセンブリのバージョン管理など
私自身が知らなすぎることが多くて。。。
現在、下のサイトを見ながら勉強しております。
(初心者の私にとっては、かなり手強い領域ですが、頑張ってみます )
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_01/idnfw11_01_01.html

最後に、もう1つ質問があります。
アセンブリのバージョンは、プロジェクト内の「AssemblyInfo.vb」ファイルで
設定できると思うのですが、ファイルバージョンというのはどこかで設定できる
のでしょうか?

本当に初歩的な質問で申し訳ないのですが、ご教授よろしくお願いいたします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-06-18 11:52
Mr.CBさん、こんにちは。

引用:

アセンブリのバージョンは、プロジェクト内の「AssemblyInfo.vb」ファイルで
設定できると思うのですが、ファイルバージョンというのはどこかで設定できる
のでしょうか?


一緒です。
コード:
<Assembly: AssemblyVersion("0.0.0.0")> 
<Assembly: AssemblyFileVersion("0.0.0.0")> 
<Assembly: AssemblyInformationalVersion("0.0.0.0")> 


Mr.CB
会議室デビュー日: 2004/05/13
投稿数: 17
投稿日時: 2004-06-18 18:42
きくちゃん様
ご返答ありがとうございます。m(__)m


疑問に思うことがあります。

パターン(1) アセンブリバージョン変更あり/ファイルバージョン変更あり
パターン(2) アセンブリバージョン変更なし/ファイルバージョン変更あり

アセンブリバージョン、ファイルバージョンを設定しているアセンブリに対して、
プログラムの修正が発生した場合、(恐らく)上記2つのパターンがあるのかと思
うのですが、どういう場合にこのパターンを使い分けたらよいのか分かりません。

この疑問に対する正解はないのだと思うのですが、皆様はどのように判断されて
いるのでしょうか?もしよろしければ、ご意見お聞かせいただけないでしょうか?

よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)