如何通过命令行以Visual Studio相同参数构建WiX 4的wixproj?
查看Visual Studio构建WiX项目的实际命令行参数
要获取Visual Studio构建时使用的具体命令行参数,可通过开启详细构建日志查看:
- 打开Visual Studio,点击顶部菜单栏的工具 > 选项
- 在弹出窗口中展开项目和解决方案 > 生成并运行
- 将MSBuild项目生成输出详细程度设置为详细或诊断(诊断级会输出更完整的信息)
- 重新右键构建WiX项目,在输出窗口(确保选择"生成"作为输出源)中就能找到MSBuild实际执行的完整命令行,其中包含VS自动传递的平台、配置等参数
问题原因与解决办法
VS能正常构建是因为它会自动针对目标平台(x64)优先构建对应版本的依赖项目,而直接使用dotnet build -a x64时,MSBuild会强制要求所有依赖项目都构建win-x64目标,若依赖项目未配置该目标就会触发报错。
要在命令行实现和VS一致的构建效果,可尝试以下两种方式:
指定项目平台而非RID:使用
-p:Platform=x64参数代替-a x64,命令如下:dotnet build "MySetup" -c Release -p:Platform=x64该参数会让WiX项目按x64平台构建,同时自动处理依赖项目的对应平台构建逻辑,和VS的行为一致。
修改WiX项目文件(wixproj):在项目文件中明确默认平台为x64,无需每次命令行都添加参数:
打开wixproj文件,找到<PropertyGroup>节点,添加或修改如下配置:<Platform>x64</Platform> <PlatformTarget>x64</PlatformTarget>保存后直接执行
dotnet build "MySetup" -c Release,即可生成x64平台的安装包。
内容的提问来源于stack exchange,提问作者Duan Bailey
相关产品推荐
相关产品推荐

