如何在VS.NET部署项目中显示应用程序版本?

我已经为我的应用程序设置了一个部署项目。 问题是我想在安装期间显示应用程序版本(例如MyApplication 1.2.3.1),以便用户在安装之前可以看到该版本。

我能想到的唯一方法是在Welcome对话框中修改WelcomeText。 是否有更简单或更优雅的方式来实现这一目标?

您应该能够使用Windows Installer ProductVersion属性。 如果将“欢迎”对话框的WelcomeText属性更改为:

The installer will guide you through the steps required to install [ProductName] [ProductVersion] on your computer. 

然后,您可以更改Deployment Project的Version属性并自动显示该值。 任何基于字符串的属性都可以这样做; 只需使用[]语法插入值即可。

对于开箱即用的其他属性,请参阅Windows Installer属性参考

您可以使用此代码获取在执行AssemblyInfo.cs中设置的版本号

 System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() 

同样,如果要获取特定程序集的版本号,可以使用

 System.Reflection.Assembly.GetAssembly([type in my assembly]).GetName().Version.ToString() 

然后,您可以在运行时自动更改欢迎文本。