2

如何配置TeamCity以構建包含2個項目的解決方案?如何配置TeamCity以構建包含2個項目的解決方案?

我已經配置TeamCity來構建我的解決方案,其中有一個項目被選爲啓動項目,它的構建很好。

我通過從其WebUI中添加具有「Visual Studio(sln)」的Runner類型的新生成步驟來配置它。

我添加了一個新的類庫項目,並從第一個項目中添加了對它的引用,它在本地生成良好。

的第一個項目的.csproj的文件現在包含此:

<ItemGroup> 
    <ProjectReference Include="..\ClassLibrary1\ClassLibrary1.csproj"> 
     <Project>{00E69E26-2576-4B9A-9180-CB1877B1D951}</Project> 
     <Name>ClassLibrary1</Name> 
    </ProjectReference> 
    </ItemGroup> 

我的代碼檢查,TeamCity的構建失敗!

error CS0246: The type or namespace name 'ClassLibrary1' could not be found (are you missing a using directive or an assembly reference?) 

TeamCity似乎只構建啓動項目而不是ClassLibrary1,儘管它被引用。

我如何配置它來構建我的解決方案?

這是可能的使用WebUI或我應該寫如MSBuild腳本?

感謝,

回答

3

其實,這個問題是TeamCity的是緩存,因爲和解決方案是檢查從版本控制設置下面的複選框:

代理結算:強制覆蓋所有文件

它緩存的是,我使用的是結帳的原因模式「自動在服務器上」,這意味着它將緩存:http://confluence.jetbrains.net/display/TCD65/VCS+Checkout+Mode

2

團隊市處理的.sln文件,所以你不應該有複式項目的任何問題。 使Team City構建.sln文件,而不是csproj。

如果它已經確定,請檢查您參考,看看它是否指向解決方案中的項目,如果它指的是彙編文件(如果你改變你的構建配置,例如可能會造成問題)

你參考應該是這樣的

<ProjectReference Include="..\ClassLibrary1\ClassLibrary1.csproj"> 
     <Project>{some guid identifying your project}</Project> 
     <Name>ClassLibrary1</Name> 
    </ProjectReference> 

產生這樣的結果,參考應通過右鍵單擊解決方案資源管理項目進行中,選擇添加引用,並進入項目部分

+0

這不是我所看到的;我的意思是它似乎並沒有處理多個項目的解決方案文件。我在同一個解決方案中引用了第一個項目的第二個項目。引用是正確的,還有什麼可能是錯誤的? – 2012-01-31 12:57:57

+0

您確定提及該項目嗎?另一種可能是您忘記將sln或csproj提交到您的源代碼控制檯 – 2012-01-31 13:02:34

+0

我很確定您的參考是錯誤的,請參閱我的編輯 – 2012-01-31 13:07:58

相關問題