我有一个使用Asp.NET Core项目的解决方案,以及一个生成MSI并将其部署到IIS服务器的WiX项目。
当前,每当我们构建项目时,我们都必须在以下位置更新内部版本号:
我想最大程度地减少更新版本所需的单个编辑次数。理想情况下,我只需要在Asp.NET项目属性页上设置版本,Wix会自动反映出更改。
基于相关答案,我能够通过将WiX版本绑定到AssemblyFileVersion来自动进行设置。但是,该解决方案有两个问题。您最终得到的是MSI的4位数字版本号,上帝知道将来会导致什么令人窒息。另一个问题是我不想将我的MSI版本绑定到dll版本(在某些情况下,不能通过dll更新该软件包)。
这就是为什么我正在寻找一种从Asp.NET属性页自动将WiX版本设置为程序包版本的原因。它解决了上述两个问题,因为该版本号可以设置为3位数字,并且它也不与dll文件版本相关。我该怎么办?程序包版本存储在Asp.NET csproj文件中,如下所示(它是1.0.2标记):
<PropertyGroup>
...
<Version>1.0.2</Version>
<AssemblyVersion>1.0.0.2</AssemblyVersion>
<FileVersion>1.0.0.2</FileVersion>
<Company>My Company</Company>
<Product>My Product</Product>
<Authors>My Company</Authors>
</PropertyGroup>
如何在构建过程中将wxs项目文件中的属性设置为该值?在这一点上,我什至将采用黑客解决方案,因为这看起来似乎没有标准的方法。