使用MsBuild时Wix的构建顺序不正确

时间:2018-12-09 22:41:01

标签: c# msbuild wix

我为.Net应用程序(使用Wix 3.11.1)创建了一个Wix安装项目,其中包含文件,快捷方式,自定义UI,自定义操作以及所有内容。

解决方案本身包含大量的.csproj-s,Wix设置项目和Wix自定义操作项目。

当我从Visual Studio(2010年,到2017年)构建它时,构建似乎是正确的,我得到“构建成功”的消息。

但是,我的自动构建脚本(先清理解决方案,然后针对解决方案运行MsBuild)失败了,因为Wix Setup项目先于Custom Action项目构建。

自定义构建脚本很简单:

MsBuild.exe .\<solutionname>.sln /target:Rebuild /property:Configuration=<config> /property:Platform=<platform>

我尝试向Wix安装项目添加指向CA项目的引用,希望该引用将告诉MsBuild首先构建CA项目,然后构建安装项目。没用。

如果我再次运行相同的构建脚本(现在已经构建了CA项目),则脚本化构建成功。

我可以以某种方式告诉MsBuild以正确的顺序构建项目吗?

我当前正在使用来自.Net FW 4.0(%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ MSBuild.exe)的MsBuild

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这里有一个解决方案(请参阅获得最高投票的评论,说“这是一个bug,bug,bug ...”。 Why does Tfs2010 build my Wix project before anything else?

简而言之:您需要使用文本编辑器在解决方案文件中对项目进行重新排序。