即使使用 --no-build 标志,在 运行 dotnet 测试时如何避免 Wix 构建错误?
How to avoid Wix build errors when running dotnet test even with the --no-build flag?
如何避免 Windows 安装程序 Wix 在 运行 dotnet 测试时构建,即使使用 --no-build 标志?
即使安装了 Wix 工具,它仍然失败。
命令行
dotnet.exe test --configuration Release --no-build
错误
.msi.wixproj: error : The WiX Toolset v3.11 (or newer) build tools must be installed to build this project.
这里是问题的解决方案,使用 MSBuild 保留关键字 MSBuildRuntimeType 使用标志跳过将 WixTools 导入项目。
您必须按如下方式修改 .wixproj 文件并添加空的 VSTest 目标。
<Target Name="VSTest" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition="'$(MSBuildRuntimeType)' != 'Core' AND '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets')" />
<Target Name="EnsureWixToolsetInstalled" Condition="'$(MSBuildRuntimeType)' != 'Core' AND '$(WixTargetsImported)' != 'true'">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
然后您可以运行使用以下命令行进行测试
dotnet test -v n --no-build
如何避免 Windows 安装程序 Wix 在 运行 dotnet 测试时构建,即使使用 --no-build 标志? 即使安装了 Wix 工具,它仍然失败。
命令行
dotnet.exe test --configuration Release --no-build
错误
.msi.wixproj: error : The WiX Toolset v3.11 (or newer) build tools must be installed to build this project.
这里是问题的解决方案,使用 MSBuild 保留关键字 MSBuildRuntimeType 使用标志跳过将 WixTools 导入项目。
您必须按如下方式修改 .wixproj 文件并添加空的 VSTest 目标。
<Target Name="VSTest" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition="'$(MSBuildRuntimeType)' != 'Core' AND '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets')" />
<Target Name="EnsureWixToolsetInstalled" Condition="'$(MSBuildRuntimeType)' != 'Core' AND '$(WixTargetsImported)' != 'true'">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
然后您可以运行使用以下命令行进行测试
dotnet test -v n --no-build