我正在尝试在VSTS上构建一个wixproj但到目前为止我只收到以下消息:
SetupProject1 \ SetupProject1.wixproj(27,5):错误:必须安装WiX Toolset v3构建工具才能构建此项目。要下载WiX工具集,请参阅http://wixtoolset.org/releases/
对于我的测试,我在计算机上使用 Wix Toolset v3.11RC2 创建了一个新的wixproj,并将其链接到VSTS上的新回购。
VSTS托管代理有 Wix Toolset v3.10 installed。
VSTS构建使用VS Build Task,构建平台设置为x86
,以便发现AnyCPU
错误。
我已尝试使用Hosted和Hosted VS2017代理但没有运气并且还尝试了默认的Wix导入:
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
那些推荐用于VS2017:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(WixCATargetsPath)" Condition=" '$(WixCATargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.CA.targets" Condition=" '$(WixCATargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.CA.targets') " />
我是否需要配置某些内容或者目前无法配置?
答案 0 :(得分:4)
您应该安装WiX工具集 v3.10 。 v3.11 项目模板需要相应的工具集版本( v3.11 )。
因此,如果您想使用v3.11,则需要设置on premise build agent。 BTW,VS2017需要v3.11工具集。
关于v3.10工具集,请不要安装Wix Toolset Visual Studio 2015 extension,已经提供了WiX v3.10扩展,所以只需直接安装Wix v3.10工具集。
如果您已经安装了Wix Toolset Visual Studio扩展,则可以使用v3.10的简单步骤:
类似的问题:The WiX Toolset v3 build tools must be installed to build this project after applying template。
答案 1 :(得分:0)
在@ starain-MSFT回答后总结我的研究:
可以在您的计算机上使用VS2017 + Wix3.11,并使用VS2015 + Wix3.10构建VSTS,您只需:
使用Wix3.10中的模板:
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
...
<Import Project="$(WixTargetsPath)" />
避免任何C# 7 specific
如果您被ICE警告阻止,属性SuppressValidation
设置为true可能会有所帮助。
如果您的构建在VSTS上挂起,请检查计算机上的警告或将.wixproj中的RunWixToolsOutOfProc
属性设置为true。