我有一个C#WPF应用程序,该应用程序是使用.Net 4.7在Visual Studio 2017(15.9.9)中编写的。该应用程序的解决方案包含两个项目-WPF项目本身,以及一个Microsoft VS Installer Project,可在生成操作上创建一个.msi文件。
我已经存储了应用程序项目的版本信息,可以使用以下方法将其返回
public static string GetVersion()
{
try
{
System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
string version = fvi.FileVersion;
return $"Version {version}";
}
catch(Exception ex)
{
//send error notif to IT dept.
Alert_IT(ex, GetCurrentMethod(), false);
return "0";
}
}
在构建解决方案时,我想使用此结果在Setup项目中设置版本信息-此刻必须将其手动输入到Setup项目的属性中。
由于我们正在计划对所有应用程序使用安装项目,因此只需要在一个地方更改所有项目的版本,这是一件非常好的事情,以确保不存在不一致之处。
是否可以通过编程方式在安装项目上设置版本?必须在创建.msi之前完成。
如果这不可能,那么您对如何实现所需的结果还有其他建议-在构建应用程序之前,只需要将其版本信息设置在一个位置即可。
我已经看到了here的建议,但是发现它不够具体,无法提供帮助。