Dll TFS生成web应用程序缺少Wix安装程序的BIN

Dll TFS生成web应用程序缺少Wix安装程序的BIN,dll,build,wix,bin,Dll,Build,Wix,Bin,我在Solutioncontains中添加了30个项目Wix安装程序,它应该打包web服务文件夹。在我想要打包的文件中,有一个包含大量DLL的BIN文件。在本地发布模式下工作正常,但如果在解决方案上运行TFS 2013 build definition,则会得到以下结果: C:\Builds\1\ABCD\u 02\WixInstaller\WSwixInstaller\filesToBeInstalled.wxs 97: 系统找不到文件“C:\Builds\1\ABCD\u 02\WixIns

我在Solutioncontains中添加了30个项目Wix安装程序,它应该打包web服务文件夹。在我想要打包的文件中,有一个包含大量DLL的BIN文件。在本地发布模式下工作正常,但如果在解决方案上运行TFS 2013 build definition,则会得到以下结果:

C:\Builds\1\ABCD\u 02\WixInstaller\WSwixInstaller\filesToBeInstalled.wxs 97: 系统找不到文件“C:\Builds\1\ABCD\u 02\WixInstaller\WSwixInstaller\..\..\..\ABC WS\bin\ABC.Components.DataAccess.Lib.Utils.dll”

我问我的同事谁管理服务器,他告诉我BIN文件夹不是在“预期”位置创建的

现在我并没有访问服务器的权限,而且集合是不可检查的,这里有存储解决方案中所有项目/项目的二进制文件的规则吗

更新:


不知何故,我们忽略了BIN文件夹-“按配置”在定义中是和设置的,但仍然找不到文件-问题在生成顺序中VS2010中奇怪的是设置目标项目上的依赖项wix项目是正确的帮助-问题是wix项目是在目标项目之前生成的。

Team build creates使用MsBuild参数重定向项目的生成输出。如果需要Wix安装程序打包已重定向的内容,则安装程序脚本必须知道发生了此重定向

团队构建的输出结构如下所示

Build Agent Root
+- Unique build folder
 +- src             <- This is where your Wix project is placed
 +- bin             <- This is where Team Build redirects the project outputs to.
 +- Test            <- This is where Test Results are stored
这使得TeamBuild能够更准确地确定哪些输出要复制到放置位置,但它会破坏任何具有硬编码或相对路径的脚本来生成输出

不过还是有希望的,您可以使用$OutDir或$OutputPath参数来查找Team Build配置为删除二进制文件的位置。您可以使用“$BuildingSideVisualStudio”==和/或“$TeamBuildConstants”==来检测Wix脚本是在Visual Studio中运行还是在Team Build中运行


通过这种方式,您可以为Wix包定义多个源位置,或者将基本目录设置为某个值,并在Wix脚本中使用该变量。

或者如果您只是希望团队构建在visual studio中运行时与bin结构相匹配,将生成定义中的“输出位置”参数设置为“按配置”-有关详细信息,请参阅此链接: