TFSBuild 中的 Wix:SourceCodeControlRoot

Wix in TFSBuild: SourceCodeControlRoot

我遵循将 Wix 与 TFS 集成的建议 (http://wixtoolset.org/documentation/manual/v3/msbuild/daily_builds.html)(无需将其安装在构建服务器上)

在我的 WixProj 文件中,我有一行: $(SourceCodeControlRoot)\wix.9\

这已与所有先决条件文件一起签入 - 我可以在我的 Dev box 上成功构建。

但是当我 运行 我的构建时,TFS 抱怨它找不到我的 Wix.targets 文件。

错误状态:

*C:\Builds\AppName\DailyBuild\Sources\Setup\Case Tracking Setup\Wix Case Tracking.wixproj (73): 找不到导入的项目 "C:\wix.9\Wix.targets"。确认声明中的路径正确,并且该文件存在于磁盘上。

所以我显然使用了错误的参考,但我找不到任何其他示例,唯一出现 SourceCodeControlRoot 的地方与 Wix 有关。

有什么想法吗?

谢谢

本文旨在让您定义或替换 $(SourceCodeControlRoot),以便 $(SourceCodeControlRoot) 是 TFS 在构建期间导出到的文件夹。在你的情况下,我猜 "C:\Builds\AppName\DailyBuild\"。当然,您可能不想对其进行硬编码。您可以将 属性 设置传递给 msbuild:/property:SourceCodeControlRoot="$(TF_BUILD_BUILDDIRECTORY)"

二进制文件 (wix.9) 文件夹的位置并不重要。最终目标是让 $(WixToolPath) 指向它。如果在您的项目结构中更方便,您可以相对于项目文件定义它:

<WixToolPath>$(MSBuildProjectDirectory)/../wix/3.9/</WixToolPath>