TFS 2010构建定义以在解决方案中构建一个项目

时间:2012-06-13 17:50:11

标签: tfs2010 tfsbuild

我有一个包含多个项目的VS解决方案,我正在尝试创建一个构建定义,只构建其中一个。

我在TFS中的项目结构是这样的:

    $myproject/Dev                            --- myproject.sln file is here
    $myproject/Dev/Src/category/item/project1 --- project I want to build
    $myproject/Dev/Src/web/item/project2      --- project2
    $myproject/Dev/Src/service/item/project3  --- project3

project1 has a project reference set to project2

然后我像这样设置我的构建定义:

   1. In the Workspace tab

    Status   Source Control Folder                        Build Agent Folder
    --------------------------------------------------------------------
    Active   $/myproject/Dev/Src/category/item/project1   $(SourceDir)\Dev\Src\category\item\project1

在“处理”选项卡中,“要构建的项目”|要构建的项目,我只选择要构建的project1。当我构建时,我收到一个错误:

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1200): The referenced project '..\..\..\web\item\project2.csproj' does not exist.

如果我将源代码管理文件夹设置为$ / myproject / Dev并将构建代理文件夹设置为$(SourceDir)\ Dev那么一切都很好,但我只想在将某些内容检入project1文件夹时启动构建,而不是一切在$ / myproject / Dev。

1 个答案:

答案 0 :(得分:2)

如果project1引用project2(如你所说),你如何期望project1编译而不用 project2进行编译?

如果您只想编译project1,那么您需要一个程序集引用而不是项目对project2的引用。

但是请不要理会,在构建定义中构建project1 它的依赖项,它简单而有效。