2012-01-06 82 views
3

我正在使用TFS 2010並嘗試在兩臺Windows Server 2008(x86)構建機器中的任意一臺上構建.NET 2.0項目。構建機器安裝了.NET版本1.0,1.1,2.0,3.0,3.5,4.0和Windows SDK 7.0A(以及TFS 2010和Visual Studio 2010)。TrackFileAccess關閉時,爲什麼仍然會出現Tracker.exe響應文件錯誤?

由於本週一些看似較小的重構更改,項目構建現在始終標記爲部分成功:儘管編譯完成時沒有錯誤,但TFS遇到七個Tracker.exe錯誤。例如,在構建總結,以下報告顯示:

Other Errors and Warnings 
7 error(s), 0 warning(s) 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 
Tracker.exe: Response file C:\Users\Builder\AppData\Local\Temp\5647f0a8ac7a4d53b87a8c2ebca3c4f5.rsp not found. 

爲Tracker.exe錯誤的常規解決辦法是禁用增量構建通過傳遞/p:TrackFileAccess=false到的MSBuild或通過在加入的MSBuild TrackFileAccess=false對配置設置項目。在過去,這總是修復Tracker.exe問題。

但是,這次Tracker.exe錯誤仍然存​​在,即使在關閉TrackFileAccess之後不再需要跟蹤更改。我甚至在構建機器上重命名C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\Tracker.exe - 並且仍然出現錯誤(我期待着發現Tracker.exe無法找到的錯誤)。

這裏可能會發生什麼?我在生成機器的文件系統中搜索了Tracker.exe的其他副本。難道是構建定義或MSBuild項目設置被覆蓋?謝謝!

+0

來自進一步研究的信息:我們分支代碼並將解決方案從.NET 2.0和Visual Studio 2005升級到.NET 4.0和Visual Studio 2010. Tracker.exe錯誤不再發生在.NET 4.0和VS2010分支上。 – 2012-01-16 23:30:13

回答

1

這是否與某些方面有關的WiX?我只在我的發佈版本中獲得這些。 this is your msdn link?

+0

是的,這是MSDN發佈的問題。嘿,這可能是由於Wix,是的。好建議:我們似乎總是使用Wix引起的一些問題或其他問題。不幸的是,我無法檢查,因爲我現在在一家不同的公司工作,而這家公司並沒有開發Windows。祝你好運。 – 2012-12-03 20:31:37

2

你聲明你已經重命名了你的構建服務器的'Tracker.exe'的唯一實例,但是這個構建完全沒有受到影響。
它可以是實際建設情況在不同的計算機(建立代理)上,這是非常有可能與TFS 2010生成的拓撲結構:
enter image description here

一種簡單的方法,以確定您的實際建設發生的服務器是檢查你的編譯日誌,希望冗長=診斷。打開「查看日誌」並搜索「在代理上運行」。你應該得到像
Run On Agent (reserved build agent <agentName> - <serverName>)
顯然<serverName>是這裏發生的一切。

關於您的問題難道是構建定義或MSBuild項目設置被覆蓋?:再次,您最好打賭它檢查生成日誌。搜索MSBuild Log File,這應該會將您發送到追蹤實際MSBuild調用的區域。

+0

感謝Pantelif。我在生成機器上重命名了Tracker.exe,而不是服務器,並強制生成在該生成機器上運行。由於錯誤仍然存​​在,Tracker.exe必須在服務器上運行,而不是在構建代理上運行。我不想在服務器上更改Tracker.exe,因爲這會影響其他項目,所以我正在挖掘三萬行診斷構建日誌輸出。 ( - : – 2012-01-09 20:31:42

0

在我的情況下,這是由於添加一個數據庫項目(項目GUID {00D1A9C2-B5F0-4AF3-8072-F6C62B433612})dll引用到現有的程序集。刪除這個引用(我只是用它來強制在測試中重建db腳本)解決了這個問題。

相關問題