控制台实用程序应用程序上的应用程序版本的方法

本文关键字:应用程序 版本 方法 实用程序 程序上 控制台 应用 | 更新日期: 2023-09-27 17:47:48

在C#控制台应用程序中显示主要/次要版本的最佳方法是什么?

System.Windows.Forms命名空间包括一个ProductVersion类,该类可用于显示通过Visual Studio项目属性(程序集信息)设置的名称/版本信息。因此,这是我目前的机制:

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

为什么这是Forms的一部分?这适用于Console应用程序吗?

控制台实用程序应用程序上的应用程序版本的方法

Assembly.GetExecutingAssembly().GetName().Version

此外,您仍然可以使用该类,只需引用包含的程序集即可。这没什么大不了的。

Assembly.GetExecutingAssembly().GetName().VersionApplication.ProductVersion不同(但可能足够好,具体取决于您的环境。

从Lutz Reflector可以看出,Application.ProductVersion首先尝试使用Assembly.GetEntryAssembly()中的AssemblyInformation Version属性(如果存在),并且GetEntryAssembly()不为空。

否则,它将使用可执行文件的文件版本。

我认为没有任何理由不在控制台应用程序中使用Application.ProductVersion

下面的行怎么样

Console.WriteLine("FileVersionInfo::ProductVersion : {0}",
  System.Diagnostics.Process.GetCurrentProcess().MainModule.FileVersionInfo.ProductVersion);