我正在使用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文件。
答案 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具有控制输出位置的其他选项,您可以将输出二进制文件放在与项目结构相同的布局中。我没有亲自使用过,但这可能会提供解决方案。