Winform表单文本中的版本号
我如何将程序集版本号(我设置为自动增量)插入到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
快速的方式获取完整版本的string(例如“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 }
没有向用户显示修订版号,版本号是足够的技术信息
确保您的AssemblyInfo.cs结束于以下(默认情况下删除它的版本)以使VisualStudio自动增加构build版本号和修订版号。 您必须在每个版本中自行更新主要版本和次要版本(更新新function的主要版本,更新版本时只需修复):
// 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;