TFS Build Automation(添加到解决方案的新项目未显示在构建输出目录中)

时间:2012-05-23 07:52:14

标签: tfs tfs2010 build-process build-automation build-definition

我们已经构建了定义,它正在构建解决方案并根据需要将二进制文件复制到输出目录。但是当我向解决方案添加新项目时,新项目的二进制文件不会复制到构建输出文件夹。

我们在添加新项目时是否需要对构建定义进行任何更改,因为如果我对现有项目进行任何更改,则构建输出会根据更改正确更新。每当将新项目添加到解决方案中时,是否需要执行任何刷新类型的操作来构建定义?

2 个答案:

答案 0 :(得分:2)

您可以查看几件事。

源代码管理中的文件夹是否映射到构建定义的工作区?可能是源没有被带到构建服务器。如果解决方案中没有其他项目对缺少的项目有任何依赖性,那么您将看不到任何错误。

要检查的另一件事是您要设置的配置。在构建定义中,检查构建过程中的配置(例如“Release”,“Any CPU”)。然后在Visual Studio中打开解决方案,右键单击解决方案资源管理器中的解决方案,选择“Configuration Manager”并确保存在相同的配置,如果确实将项目设置为针对该配置构建。

答案 1 :(得分:0)

我认为获得效果的唯一方法是在构建定义中实际构建另一个* .sln。

如果你使用相同的sln&一切都是构建的,新程序集的二进制文件没有理由不被复制。
如果由于某种原因,源代码不可用,则构建将失败。

编辑
(评论后“我们没有使用此构建定义构建任何其他解决方案。它正在成功构建解决方案”)

我想你需要分享一些额外的信息。
你是说在你的构建代理中你看到Sources下的两个:

C:\ Builds \ 1 ... \ Sources \ SolutionName \ OldProject \ bin \“Config “\ OldProject.dll
C:\ Builds \ 1 ... \ Sources \ SolutionName \ NewProject \ bin \“Config”\ NewProject.dll

但仅在Binaries下只有


C:\ Builds \ 1 ... \ Binaries \“Config”\ OldProject.dll?