アセンブリのバージョン番号(自動インクリメントに設定)をWinformフォームのテキストに挿入するにはどうすればよいですか?
これらのいずれかが機能します:
var version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
this.Text = String.Format("My Application Version {0}", version);
string version = System.Windows.Forms.Application.ProductVersion;
this.Text = String.Format("My Application Version {0}", version);
これがテキストを表示したいForm
で実行されると仮定します
Text = Application.ProductVersion
文字列としてフルバージョンを取得する簡単な方法(例:「1.2.3.4」)
WinFormで次を使用しています。
public MainForm()
{
InitializeComponent();
Version version = Assembly.GetExecutingAssembly().GetName().Version;
Text = Text + " " + version.Major + "." + version.Minor + " (build " + version.Build + ")"; //change form title
}
リビジョン番号をユーザーに表示しない、ビルド番号で十分な技術情報
VisualStudioでAssemblyInfo.csがビルドとリビジョン番号を自動的にインクリメントするように、次で終わることを確認します(デフォルトでそこにあるバージョンを削除します)。各リリースでメジャーバージョンとマイナーバージョンを自分で更新する必要があります(新機能のメジャーバージョンを更新する、修正を行う場合はマイナーバージョンを更新する)。
// Version information for an Assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [Assembly: AssemblyVersion("1.0.*")]
[Assembly: AssemblyVersion("1.0.*")]
System.Reflection.AssemblyName
クラス。
Assembly.GetExecutingAssembly().GetName().Version.ToString()
こちらをご覧ください: http://msdn.Microsoft.com/en-us/library/system.reflection.assemblyname.version.aspx
class Example
{
static void Main()
{
Console.WriteLine("The version of the currently executing Assembly is: {0}",
Assembly.GetExecutingAssembly().GetName().Version);
Console.WriteLine("The version of mscorlib.dll is: {0}",
typeof(String).Assembly.GetName().Version);
}
}
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
System.Diagnostics.FileVersionInfo fvi = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.Location);
return fvi.ProductVersion;