26

C# コンソール アプリケーションでメジャー/マイナー バージョンを表示するための最良の方法は何ですか?

名前System.Windows.Forms空間にはProductVersion、Visual Studio プロジェクト プロパティ (アセンブリ情報) を介して設定された名前/バージョン情報を表示するために使用できるクラスが含まれています。そのため、ここに私の現在のメカニズムがあります:

Console.WriteLine("{0} ({1})", 
   System.Windows.Forms.Application.ProductName, 
   System.Windows.Forms.Application.ProductVersion);

この部分はなぜFormsですか? これはコンソール アプリケーションに適していますか?

4

3 に答える 3

59
Assembly.GetExecutingAssembly().GetName().Version

また、クラスを引き続き使用できます。含まれているアセンブリを参照するだけで済みます。それは大したことではありません。

于 2008-10-17T13:36:00.593 に答える
8

Assembly.GetExecutingAssembly().GetName().Versionと同じではありませんApplication.ProductVersion(ただし、環境によっては十分な場合があります。

Lutz Reflector で見られるように、最初にAssemblyInformationalVersion属性が存在する場合はそれApplication.ProductVersionを使用しようとし、それが null でない場合はそれを使用します。Assembly.GetEntryAssembly()GetEntryAssembly()

それ以外の場合は、実行可能ファイルのファイル バージョンが使用されます。

Application.ProductVersionコンソール アプリケーションで使用しない理由はありません。

于 2008-10-17T17:35:14.013 に答える