我使用的是Wix3.9,当我在TFS中运行一个持续集成构建时,我会得到一个错误的heat.exe: The directory could not be found,因为TFS将二进制文件放置在我的本地机器上,所以这个项目将在本地构建,而不是在TFS上构建。
在我的wixproj文件中,我为本地Dir=$(SolutionDir)\ProjectName\bin\$(Configuration)工作的二进制文件设置了一个位置。有什么我可以设置的东西可以在我的本地机器和TFS上找到二进制文件吗?
我正在寻找类似于项目引用变量$(var.MyProject.TargetDir)的东西,但这在wixproj文件中似乎不起作用。
发布于 2015-05-15 13:12:06
通过更改项目文件将二进制文件输出到与构建相同的位置,我解决了这个问题。这样,桌面构建和持续集成构建都可以对公共二进制目录使用相同的引用。
如果您正在使用2012或更早版本,您的目录引用将是:Dir=$(SolutionDir)..\Binaries\$Configuration。C#项目中相应的输出路径将是..\..\Binaries\Release或..\..\Binaries\Debug (假设项目文件夹位于源文件目录的根目录中)。
如果使用technique 2013,也可以使用同样的技术,但是Binaries文件夹变成了bin。您的目录引用为:Dir=$(SolutionDir)..\bin\$Configuration。需要对项目输出文件夹进行类似的更改。
2013具有控制输出位置的其他选项,可以将输出二进制文件放在与项目结构相同的布局中。我没有亲自使用过,但这可能会提供一个解决方案。
https://stackoverflow.com/questions/30252746
复制相似问题