2012-06-13 148 views
0

我有一個包含多個項目的VS解決方案,我試圖創建一個構建定義來構建其中的一個。TFS 2010構建定義在解決方案中構建一個項目

在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 

在進程選項卡,項目,以建立|要構建的項目,我只選擇要構建的項目1。當我建立我得到一個錯誤:

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

如果我設置的源代碼管理文件夾,以$/MyProject的/開發和生成代理文件夾爲$(SourceDir)\開發,然後一切都很好,但我只是想揭開序幕在project1文件夾中檢入某些內容時的構建,而不是$/myproject/Dev下的所有內容。

+0

project1是否依賴其他項目?它看起來取決於project2。嘗試檢查您的項目依賴關係。 –

+0

你能解釋一下你爲什麼想要構建項目1而不是它被引用的項目嗎? – DaveShaw

回答

2

如果project1參考project2(如您所述),您如何期望project1編譯而不是 project2是否已編譯?

如果你只想編譯project1,那麼你需要一個程序集引用而不是項目引用project2。

但是不要打擾,在您的構建定義構建項目1 其依賴關係,它很簡單和高效。

相關問題