首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MSBuild: directory.build.props和directory.build.targets不能与*.wixproj一起使用

MSBuild: directory.build.props和directory.build.targets不能与*.wixproj一起使用
EN

Stack Overflow用户
提问于 2019-06-11 01:54:28
回答 1查看 1.7K关注 0票数 4

directory.build.props和directory.build.targets不支持Windows Installer Wix项目。*.wixproj

如何解决此问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-11 03:23:59

背景

隐式导入directory.build.propsdirectory.build.targets是MSBuild 15.0+的固有功能。It not必须是新的SDK项目样式格式才能工作。魔术是通过导入microsoft.common.props,来实现的,SDK风格的项目会自动导入,而大多数旧风格的项目都会在项目文件中包含第一个导入。这是文档化的here

不幸的是,WiX项目不包括这个导入,这就是为什么它没有被采用的原因(就像here在可许源中显示的那样)。我不知道为什么,但microsoft.common.props被排除在外可能是有原因的。

由于不清楚导入microsoft.common.props是否会给您带来痛苦,推荐的方法是使用新的GetPathOfFileAbove函数手动导入扩展。你只需要这样做一次。

解决方案

  1. 使用卸载项目右键单击项目名称卸载{→}…编辑项目名称编辑{→}…在行3中
  2. Add以下内容(应该是<Project>中的第一个元素):

  • 在导入WiX目标之前,在文件的底部添加以下内容:

如果需要挂接到保留构建过程或目标中,请使用CustomBeforeWixTargets和CustomAfterWixTargets构建属性,这两个属性可能会通过MSBuildThisFileFullPath WiX属性引用WiX文件本身。这将确保WiX在适当的时间导入内容。

完成此配置后,directory.build.props和directory.build.targets的使用将如期进行。如果WiX曾经本机支持这些构建扩展,那么您将能够在空闲时删除这些显式导入。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56531260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档