Visual studio 2013 在卸载WIX3.11并降级到3.9之后,一个项目仍然需要3.11

Visual studio 2013 在卸载WIX3.11并降级到3.9之后,一个项目仍然需要3.11,visual-studio-2013,visual-studio-2017,wix,visual-studio-2019,Visual Studio 2013,Visual Studio 2017,Wix,Visual Studio 2019,已安装WiX 3.11版,但已卸载。然后安装了WiX 3.9版。在3.11出现期间,创建了一个空的WiX项目。安装3.9后,项目完成。在构建时,会发出一个错误,指示必须安装WiX版本3.11 我们使用WiX生成安装包。2013年、2017年和2019年使用了多个版本的Visual Studio,以适应各种产品。安装WiX 3.11时,观察到VS 2013停止识别WiX项目。已卸载3.11并重新安装3.9。以前存在的WiX项目再次得到认可,可以在VS 2013年之前建成,但在VS 2017年3.1

已安装WiX 3.11版,但已卸载。然后安装了WiX 3.9版。在3.11出现期间,创建了一个空的WiX项目。安装3.9后,项目完成。在构建时,会发出一个错误,指示必须安装WiX版本3.11

我们使用WiX生成安装包。2013年、2017年和2019年使用了多个版本的Visual Studio,以适应各种产品。安装WiX 3.11时,观察到VS 2013停止识别WiX项目。已卸载3.11并重新安装3.9。以前存在的WiX项目再次得到认可,可以在VS 2013年之前建成,但在VS 2017年3.11生效时创建的一个WiX项目仍然坚持在建成时安装3.11。我看过WiX项目文件,不明白为什么它坚持要有3.11版本。有人知道如何说服它使用已安装的3.9吗

WiX项目在2013年和2017年两个季度都有负荷。VS2019坚持认为WiX项目是不兼容的项目类型。我现在可以接受,但当VS 2013或VS 2017尝试构建安装项目时,会出现以下错误:


必须安装WiX工具集v3.11(或更新版本)生成工具才能生成此项目。要下载WiX工具集,请参阅http://wixtoolset.org/releases/

我相信这与它是在3.11下创建的这一事实有关。这意味着3.11的代码与3.9不兼容。如果是这种情况,您可能只想删除项目(而不是解决方案),然后从3.9框架开始

它可能还与添加到Visual Studio的扩展名有关。

.wixproj:我将打开Visual Studio项目文件:
Name.wixproj
,然后检查内容。我在那里看到了指示版本检查的部分,但我没有100%地了解每个部分的含义以及如何解决这个特定问题。这可能是众所周知的,并在某个论坛上解决


文件差异:一个特别的解决方案是使用
WiX 3.9
创建一个新项目,然后使用文件比较工具,例如从旧项目(WiX 3.11格式)迁移实际需要的任何设置。您应该能够在VisualStudio中打开项目后执行此操作。它将提示重新加载、执行并测试构建?然后迭代,直到所有设置都迁移了,您的心跳停止?

其他受访者建议重新启动VS并重新启动。这并没有解决问题。我将项目的原始文件复制到一个安全的位置,然后从解决方案、TFS和磁盘中删除了原始文件。创建了一个新的WiX,并将以前的Product.wxs文件的内容复制到较新的项目中。它建成了,因此这个问题得到了解决,使用的是由来已久的传统,把它烧到水线,然后从头开始。我更希望在原始项目文件中发现有问题的数据,该文件告诉系统使用3.11,但显然没有发生。也许下一次。

是的,我还使用这个通用解决方案使单个WiX项目()使用Visual Studio的任何版本进行编译,而不是使用预期的版本。它通常比尝试更新旧项目效果更好。另一种常见的替代方法是生成一个新项目,压缩备份(以便可以恢复),然后使用文件差异工具(例如Beyond Compare)一次迁移一个设置,如我在这里的另一个答案中所述。