C# VSTS-构建Wix MSI

C# VSTS-构建Wix MSI,c#,git,powershell,msbuild,wix,C#,Git,Powershell,Msbuild,Wix,在包含Wix项目的VSTS(Visual Studio团队服务)中构建解决方案时遇到问题 我已经尝试使用VisualStudio构建过程,在这里我指向我的解决方案(使用VSGit存储库) 当这样做时,它首先会在构建Wix项目时冻结(它将构建定制动作c#项目和我的测试网站项目,好的) 我尝试使用Nuget Restore,以便VST在构建服务器上拥有与解决方案中使用的相同版本的Wix 这将停止冻结,但随后将显示以下错误 TestWebsite\packages\WiX.3.10.3\tools\w

在包含Wix项目的VSTS(Visual Studio团队服务)中构建解决方案时遇到问题

我已经尝试使用VisualStudio构建过程,在这里我指向我的解决方案(使用VSGit存储库)

当这样做时,它首先会在构建Wix项目时冻结(它将构建定制动作c#项目和我的测试网站项目,好的)

我尝试使用Nuget Restore,以便VST在构建服务器上拥有与解决方案中使用的相同版本的Wix

这将停止冻结,但随后将显示以下错误

TestWebsite\packages\WiX.3.10.3\tools\wix2010.targets(2481,7):错误MSB4064:“Light”任务不支持“SuppressPatchSequenceData”参数。验证该参数是否存在于任务中,并且它是可设置的公共实例属性。

尽管在wiki中有一个用于SuppressPatchSequenceData的条目

查找该错误显示的结果很少,因此我找到了以下文章

我已经按照步骤进行了一些小的调整,但是,当我查看OutputtedDrop文件夹时,有一个

TestInstaller.wixpdb

但是没有

TestInstaller.msi

这显然是没有用的

有人知道通过VST特别是Wix项目构建MSI包的有效解决方案吗

编辑

我注意到(不确定这是否相关)我的NuGet restore没有为测试安装程序拉任何东西。这是因为查询是针对***.sln的(WiX是.wixproj)

因此,我为.wixproj添加了另一个NuGet还原步骤,但我得到了以下错误


无法确定要还原NuGet软件包的软件包文件夹。请指定-PackagesDirectory或-SolutionDirectory。

是否尝试使用msbuild.exe直接从命令行在生成计算机上生成解决方案?@ArkadySitnitsky Sitnitsky在遵循我链接的.MSI软件包教程时。我直接在服务器上运行了Powershell脚本,它输出了我想要的.MSI。我甚至将在VST期间传递的参数粘贴到脚本中,以确保它们都正常工作。我现在正在用额外的信息更新这个问题,在构建定义中设置的超时是多少?如果您的解决方案生成警告,则可能会出现死锁,指示灯将不会熄灭。尝试删除警告或将/p:runwixtoolsootofproc=true作为msbuild参数传递。@ArkadySitnitsky超时设置为60分钟,一旦达到该时间,生成将自动取消。我明天会试试你的建议,然后再给你回复。感谢您我的解决方案有效吗?您是否尝试使用msbuild.exe直接从命令行在生成计算机上生成解决方案?@ArkadySitnitsky Sitnitsky,在遵循我链接的.MSI软件包教程时。我直接在服务器上运行了Powershell脚本,它输出了我想要的.MSI。我甚至将在VST期间传递的参数粘贴到脚本中,以确保它们都正常工作。我现在正在用额外的信息更新这个问题,在构建定义中设置的超时是多少?如果您的解决方案生成警告,则可能会出现死锁,指示灯将不会熄灭。尝试删除警告或将/p:runwixtoolsootofproc=true作为msbuild参数传递。@ArkadySitnitsky超时设置为60分钟,一旦达到该时间,生成将自动取消。我明天会试试你的建议,然后再给你回复。谢谢你我的解决方案有效吗?