2011-02-02 29 views
6

的根所有的二进制文件的团队生成数字格式的默认配置为:防止团队建设下降到Drop文件夹

$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r) 

它丢弃所有输出\\foo\bar\MyBuildDef_20111031.1伟大的东西为止!

的问题是,它会删除该目录中的所有二进制文件,但没有明确指示二进制文件的依赖关系。

TFS drop files

你怎么能修改此属性,否则,有解决方案的二进制文件在各自的项目目录下降?

在上面的例子中,我曾预期MVC网站(包含它的bin目录)将被删除。相反,我们得到了这个PLUS额外的根目录下的二进制文件。

换句话说:TFS,请停止删除根中的所有二进制文件;它看起来很混乱,而且对于哪些文件属于/与哪些文件相关,这是令人困惑的。

Team Build 2010如何实现?

回答

7

本博客文章应该帮助你:http://blogs.msdn.com/b/willbar/archive/2011/02/05/splitting-team-build-outputs-into-folders.aspx

本质上讲,你为每个项目创建一个新的“平台”。 Team Build将默认将每个平台放在不同的目录中,这样您可以为每个项目获取不同的目录。

构建配置对话框:

Build Configuration dialog

Drop文件夹输出: Build drop folder with separate folders

+0

我将这个想法用于我的一个NServiceBus解决方案。现在,我的解决方案中的每个项目都会生成并将关联的二进制文件复制到相应的团队基础服务器构建文件夹中这使我可以保留多个使用NServiceBusHost.exe在同一解决方案中托管服务端点的项目。这篇文章节省了我几个小时的时间寻找解决方案。谢谢! – EnLaCucha 2013-04-11 19:47:35

3

不幸的是,我还没有找到一个很好的方法来做到这一点,尽管自从我试图找到一个更好的解决方案以来我已经有一段时间了,然后我决定了。

当前为每个桌面应用程序提供解决方案,并且所有网站都有解决方案。然后我按照指示here将每个解决方案输出到一个单独的文件夹中。

+0

更改构建过程模板确实比加入大量不同的构建配置的一个更好的解决方案。特别是如果你希望你的构建服务器生成代码的调试和发布版本,或者你以后需要支持多种平台。 – jessehouwing 2012-04-26 19:09:00