.NET TIPS

Visual Studio 2005でバージョン情報を設定するには?[VS 2005のみ、C#、VB]

デジタルアドバンテージ 一色 政彦
2006/02/03

 .NETアセンブリ(.EXEファイルや.DLLファイル)には、次の画面で示しているような、いくつかのバージョン情報を設定することができる。この画面は、エクスプローラでファイルを選択し、そのプロパティを表示させているところだ。

.NETアセンブリに設定されたバージョン情報
.NETアセンブリ(asmverinfo.exe)のバージョン情報を表示させているところ。バージョン情報を表示するには、エクスプローラで.NETアセンブリ・ファイル(.EXEファイルや.DLLファイル)を右クリックして表示されるコンテキスト・メニューから[プロパティ]を選択する。もしくはファイルを選択した状態でショートカット・キー[Alt]+[Enter]キーを押す。するとファイルのプロパティ画面が開くので、その画面の[バージョン情報]タブをクリックすれば、バージョン情報が表示される。
  Win32ファイル・システム用のバージョン番号が表示される。
  ファイルの概要が表示される。
  著作権情報が表示される。
  [項目]を選択すると、選択した項目の内容が[値]欄に表示される。

 このようなバージョン情報をアセンブリに対して設定する方法は、「TIPS:アセンブリにバージョン情報を設定するには?」で紹介している。このTIPSで紹介した方法では、Visual Studio .NETのプロジェクト・テンプレートから自動生成された、AssemblyInfo.cs(C#の場合)もしくはAssemblyInfo.vb(VB:Visual Basic場合)というファイルの内容を編集することでバージョン情報を設定できたが、これはVisual Studio 2005(以降、VS 2005)でも同じだ。

VS 2005におけるAssemblyInfo.vbファイル(VB)
VS 2005のプロジェクト・テンプレートからプロジェクトを作成した場合も、従来のVisual Studio .NETと同じように、アセンブリにバージョン情報を設定するためのAssemblyInfo.cs(C#)/AssemblyInfo.vb(VB)が自動生成される。
  C#では必要ないが、VBではAssemblyInfo.vbはデフォルトで非表示となっているので、[すべてのファイルを表示]ボタンをクリックする必要がある。
  AssemblyInfo.vbを編集することで、アセンブリのバージョン情報を設定できる。

 しかしVS 2005では、さらにGUI画面(=VS 2005のIDEが持つ画面)からもバージョン情報を指定できるようになったので、より直感的で分かりやすくなった。本稿ではその設定方法について解説する。

プロジェクトのプロパティ・ページによるバージョン情報の設定

 アセンブリに上記画面のようなバージョン情報を設定するには、次の画面のように、プロジェクトのプロパティ・ページを開き、そこから[アセンブリ情報]ダイアログを表示して設定すればよい。



プロジェクトのプロパティ画面におけるバージョン情報の設定
アセンブリにバージョン情報を設定しているところ。
  [ソリューション エクスプローラ]でプロジェクトに含まれる「My Project」をダブルクリックして、プロジェクトのプロパティ・ページを開く。プロジェクトのプロパティ・ページは、メニュー・バーの[プロジェクト]−[<プロジェクト名> のプロパティ]によっても開くことができる。
  [アプリケーション]タブを開く。
  [アセンブリ情報]ボタンをクリックする。これにより の[アセンブリ情報]ダイアログが表示される。
  この[アセンブリ情報]ダイアログの各項目を設定していくことで、アセンブリに対してバージョン情報を設定することができる。なお各項目の内容についてはすぐ後で説明する。

 [アセンブリ情報]ダイアログにおける各項目(=アセンブリ情報)と、.NET Frameworkのアセンブリ属性との関係を次の表にまとめた。

アセンブリ情報 アセンブリ属性 説明
タイトル AssemblyTitle プログラムの概要
説明 AssemblyDescription プログラムの詳細な説明
会社 AssemblyCompany 会社名
製品 AssemblyProduct プログラムの正式名称
著作権 AssemblyCopyright 著作権情報。記述形式は「Copyright (C) <西暦年> <会社名>.」(例:Copyright (C) 2001-2006 Digital Advantage Corp.)とするのが一般的
商標 AssemblyTrademark プログラム名称などを商標登録していればその情報を記述する(例えば、Windows (R) は登録商標)。それ以外の場合は何も指定しなくてよい
アセンブリ バージョン AssemblyVersion .NETアセンブリ用のバージョン番号。.NET Frameworkのバージョン管理機能で使われる
ファイル バージョン AssemblyFileVersion Win32ファイル・システム用のバージョン番号
GUID Guid アセンブリを一意に識別するためのGUID(Globally Unique IDentifier)。アセンブリがCOM(Component Object Model)に公開される場合のタイプ・ライブラリのIDになる
ニュートラル言語 NeutralResourcesLanguage ニュートラル・リソース言語。ここでリソースのカルチャ(=“ja-JP”や“en-US”などの言語情報)を指定することで、.NETアプリケーション内のリソース管理を担当するResourceManagerオブジェクトがメイン・アセンブリに含まれているリソースを検索しなくなるため、パフォーマンスが向上する
アセンブリを COM 参照可能にする ComVisible アセンブリ内のマネージ型をCOM(Component Object Model)から参照可能にするかどうか
アセンブリ情報とアセンブリ属性の関係
アセンブリ属性はいずれも(語句の後に続く)「Attribute」を省略している。例えば「AssemblyTitle」は正確には「AssemblyTitleAttribute」となる。なお、このように「Attribute」を省略した場合、.NET Frameworkのコンパイラがコンパイル時に自動的に「Attribute」を付加してくれるという仕組みになっている。

 以上の設定を行うと、AssemblyInfo.cs(C#)/AssemblyInfo.vb(VB)の内容が自動的に更新される。End of Article

利用可能バージョン:.NET Framework 2.0のみ
カテゴリ:クラス・ライブラリ 処理対象:アセンブリ
使用ライブラリ:AssemblyVersion属性(System.Reflection名前空間)
関連TIPS:アセンブリにバージョン情報を設定するには?

この記事と関連性の高い別の.NET TIPS
バージョン情報ダイアログを作成するには?
アセンブリ・バージョンとファイル・バージョンを一致させるには?
アセンブリにバージョン情報を設定するには?
[参照の追加]ダイアログに独自のアセンブリを表示するには?
複数のプロジェクトでファイルを共有するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間