directory.build.props和directory.build.targets不支持Windows Installer Wix项目。*.wixproj
如何解决此问题?
发布于 2019-06-11 03:23:59
背景
隐式导入directory.build.props和directory.build.targets是MSBuild 15.0+的固有功能。It not必须是新的SDK项目样式格式才能工作。魔术是通过导入microsoft.common.props,来实现的,SDK风格的项目会自动导入,而大多数旧风格的项目都会在项目文件中包含第一个导入。这是文档化的here。
不幸的是,WiX项目不包括这个导入,这就是为什么它没有被采用的原因(就像here在可许源中显示的那样)。我不知道为什么,但microsoft.common.props被排除在外可能是有原因的。
由于不清楚导入microsoft.common.props是否会给您带来痛苦,推荐的方法是使用新的GetPathOfFileAbove函数手动导入扩展。你只需要这样做一次。
解决方案
<Project>
中的第一个元素):如果需要挂接到保留构建过程或目标中,请使用CustomBeforeWixTargets和CustomAfterWixTargets构建属性,这两个属性可能会通过MSBuildThisFileFullPath WiX属性引用WiX文件本身。这将确保WiX在适当的时间导入内容。
完成此配置后,directory.build.props和directory.build.targets的使用将如期进行。如果WiX曾经本机支持这些构建扩展,那么您将能够在空闲时删除这些显式导入。
https://stackoverflow.com/questions/56531260
复制相似问题