コンソールユーティリティアプリのアプリケーションバージョンの方法
質問
C#コンソールアプリケーションでメジャー/マイナーバージョンを表示する最良の方法は何ですか?
System.Windows.Forms名前空間には、Visual Studioプロジェクトプロパティ(アセンブリ情報)を介して設定された名前/バージョン情報を表示するために使用できるProductVersionクラスが含まれています。そのため、ここに私の現在のメカニズムがあります:
Console.WriteLine(" {0}({1})"、System.Windows.Forms.Application.ProductName、System.Windows.Forms.Application.ProductVersion);
フォームのこの部分はなぜですか?これはコンソールアプリケーションに適していますか?
解決
Assembly.GetExecutingAssembly().GetName().Version
また、クラスを使用することもできます。含まれるアセンブリを参照するだけです。大したことはありません。
他のヒント
Assembly.GetExecutingAssembly()。GetName()。Version
は、 Application.ProductVersion
と同じではありません(ただし、環境によっては十分かもしれません。
Lutz Reflectorでわかるように、 Application.ProductVersion
は、 Assembly.GetEntryAssembly()
の AssemblyInformationalVersion 属性を最初に使用しようとします。存在し、 GetEntryAssembly()
がnullでない場合。
それ以外の場合は、ファイルバージョンの実行可能ファイルを使用します。
コンソールアプリケーションで Application.ProductVersion
を使用しない理由はありません。