C#でアセンブリ情報を入れるのが、AssemblyInfo.csというファイルです。
このファイルに、Visual Studioで実行モジュールのバージョン情報やらプロパティを設定することが可能になります。
今回、AssemblyInfo.csで設定できる項目を調べてみました。
目次
AssemblyInfo.csとその中身 (アセンブリ情報)
AssemblyInfo.csは、Visual Studioで新規のソリューションを作成するとPropertiesフォルダ以下に自動的に作成されます。
中身は以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; // アセンブリに関する一般情報は以下の属性セットをとおして制御されます。 // アセンブリに関連付けられている情報を変更するには、 // これらの属性値を変更してください。 [assembly: AssemblyTitle("ConsoleApplication21")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Microsoft")] [assembly: AssemblyProduct("ConsoleApplication21")] [assembly: AssemblyCopyright("Copyright © Microsoft 2015")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] // ComVisible を false に設定すると、その型はこのアセンブリ内で COM コンポーネントから // 参照不可能になります。COM からこのアセンブリ内の型にアクセスする場合は、 // その型の ComVisible 属性を true に設定してください。 [assembly: ComVisible(false)] // 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です [assembly: Guid("5f8fcb6e-8c9f-474a-9de1-76d954ea9f73")] // アセンブリのバージョン情報は、以下の 4 つの値で構成されています: // // Major Version // Minor Version // Build Number // Revision // // すべての値を指定するか、下のように '*' を使ってビルドおよびリビジョン番号を // 既定値にすることができます: // [assembly: AssemblyVersion("1.0.*")] [assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")] |
ここでソリューションをビルドして作成されるconsoleApplication21.exeのプロパティを参照して見ました。
AssemblyInfo.csで設定された情報がそのまま実行モジュールのプロパティとして設定されます。
.NETのAssemblyInfoクラス
.NETのAssemblyInfoクラスには以下のプロパティが存在します。
AssemblyInfo.csで設定可能な属性値とほぼ1対1で対応しているようです。
名前 | 説明 |
AssemblyName | アプリケーションのアセンブリ ファイル名のうち、拡張子を除いた部分を取得します。 |
CompanyName | アプリケーションに関連付けられている会社名を取得します。 |
Copyright | アプリケーションに関連付けられている著作権表記を取得します。 |
Description | アプリケーションに関する説明を取得します。 |
DirectoryPath | アプリケーションが格納されているディレクトリを取得します。 |
LoadedAssemblies | アプリケーションによって読み込まれたすべてのアセンブリのコレクションを取得します。 |
ProductName | アプリケーションに関連付けられている製品名を取得します。 |
StackTrace | 現在のスタック トレース情報を取得します。 |
Title | アプリケーションに関連付けられているタイトルを取得します。 |
Trademark | アプリケーションに関連付けられている商標表記を取得します。 |
Version | アプリケーションのバージョン番号を取得します。 |
WorkingSet | プロセス コンテキストに割り当てられる物理メモリ量を取得します。 |
プロダクトをリリースするときAssemblyInfo.csにプロパティを設定
プロダクトをリリースする時はAssemblyInfo.csに忘れずにプロパティを設定しましょう。
ここを設定しないと、
会社名は「Microsoft」になるし、
コピーライトも「Microsoft 2015」となって格好悪いです。
プログラミングの無料レッスン体験
約8,000名の受講生と80社以上の導入実績のあるプログラミングやWebデザインのオンラインマンツーマンレッスンCodecamp
<Codecampの特徴>
1 現役エンジニアによる指導
2オンラインでのマンツーマン形式の講義
3大手企業にも導入されている実践的なカリキュラム
↓無料体験レッスン実施中です。
コメント