我为.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
有什么想法吗?
答案 0 :(得分:0)
这里有一个解决方案(请参阅获得最高投票的评论,说“这是一个bug,bug,bug ...”。 Why does Tfs2010 build my Wix project before anything else?
简而言之:您需要使用文本编辑器在解决方案文件中对项目进行重新排序。