2008-09-19 74 views
7

試圖建立使用團隊基礎構建我的應用程序時,我收到以下錯誤:如何更改MSBuild在Team Foundation Build下使用的構建目錄?

C:\ WINDOWS \ Microsoft.NET \框架\ v3.5版本\ Microsoft.Common.targets(1682,9 ):錯誤MSB3554:無法寫入輸出文件「obj \ Release \ Company.Redacted.BlahBlah.Localization.Subsystems。 Startup_Shutdown_Processing.StartupShutdownProcessingMessages.de.resources」。指定的路徑,文件名或這兩者太長。完全限定的文件名必須少於260個字符,且目錄名稱必須少於248個字符。

我的項目在我的開發機器上構建得很好,因爲源只有兩個文件夾深,但TF Build似乎使用了一個非常深的目錄,導致它打破。如何更改使用的文件夾?

編輯:我檢查存儲在源代碼控制,發現我的構建的.proj文件執行以下操作:

<!-- BUILD DIRECTORY 
This property is included only for backwards compatibility. The build directory used for a build 
definition is now stored in the database, as the BuildDirectory property of the definition's 
DefaultBuildAgent. For compatibility with V1 clients, keep this property in sync with the value 
in the database. 
--> 
<BuildDirectoryPath>UNKNOWN</BuildDirectoryPath> 

如果這是存儲在如何更改它的數據庫?

編輯:找到以下博客文章,可能是指向我torward解決方案。現在我只需要弄清楚如何更改Build Agent中的設置。 http://blogs.msdn.com/jpricket/archive/2007/04/30/build-type-builddirectorypath-build-agent-working-directory.aspx

目前我的工作目錄是「$(Temp)\ $(BuildDefinitionPath)」,但現在我不知道通配符可用於指定不同的文件夾。

回答

16

您需要編輯生成代理的構建工作目錄,以便乞討路徑更小一些。編輯構建代理,右鍵單擊「Builds」節點並選擇「Manage Build Agents ...」

我個人使用類似c:\ bw \ $(BuildDefinitionId)的東西。 $(BuildDefinitionId)轉換爲構建定義的id(因此名稱爲:-)),這意味着您將獲得一個以c:\ bw \ 36開頭的構建路徑,而不是c:\ Documents and Settings \ tfsbuild \ Local Settings \ Temp \ BuildDefinitionName

祝你好運,

Martin。

0

您必須從源代碼管理資源管理器中檢出構建腳本文件,並使肘部變髒以替換路徑。

+0

請參閱有關問題的說明。 – Luke 2008-09-19 18:29:19

+1

提問者聽起來像他正在使用TFS 2008.這個建議是TFS 2005的正確答案。 – 2008-09-19 18:55:06

相關問題