在wixproj文件中设置二进制文件的位置

时间:2015-05-15 06:16:18

标签: wix

我正在使用Wix 3.9,当我在TFS中运行持续集成构建时,我收到错误 Dir=$(SolutionDir)\ProjectName\bin\$(Configuration)因为TFS将二进制文件放在与本地计算机不同的位置,所以项目将在本地构建,但不在TFS上构建。

在我的wixproj文件中,我为本地工作的二进制文件设置了位置 $(var.MyProject.TargetDir)。 有什么我可以设置这个在我的本地机器和TFS上找到二进制文件吗?

我正在寻找项目引用变量$mysession = new Zend_Session_Namespace(); $mysession->child_code = $status["child_code"]; print_r($_SESSION); 之类的东西,但这似乎不适用于wixproj文件。

1 个答案:

答案 0 :(得分:0)

通过更改项目文件以将二进制文件输出到与Team Foundation Build相同的位置,我解决了这个问题。这样,桌面和持续集成构建都可以使用与公共二进制目录相同的引用。

如果您使用的是Team Foundation Build 2012或更早版本,则目录引用将为:Dir=$(SolutionDir)..\Binaries\$Configuration。 C#项目中的相应输出路径为..\..\Binaries\Release..\..\Binaries\Debug(假设项目文件夹位于sources目录的根目录中)。

如果您使用的是Team Foundation Build 2013,则可以使用相同的技术,但Binaries文件夹将变为bin。您的目录引用变为:Dir=$(SolutionDir)..\bin\$Configuration。项目输出文件夹需要进行类似的更改。

Team Foundation Build 2013具有控制输出位置的其他选项,您可以将输出二进制文件放在与项目结构相同的布局中。我没有亲自使用过,但这可能会提供解决方案。