摘要:使用TFS Team Build 時發生拒絕存取檔案錯誤時應如何處理?
如果使用Team Build 自動化編譯時
發生類似以下的錯誤:
已為目標 _DownloadNuGet 建置 /.nuget/NuGet.targets。
\.nuget\NuGet.targets (107): 由於另一個處理序正在使用檔案 '\packages\EntityFramework.zh-Hant.6.0.2\EntityFramework.zh-Hant.6.0.2.nupkg',所以無法存取該檔案。
請注意是否有開啟MS Build 的 Multi-Proc 選項 如下圖:
如果有開啟的話 MSBuild會以平行方式編譯所有專案 有可能導致同時存取相同檔案
造成拒絕存取錯誤 開啟Multi-Proc 選項優點是可以加速編譯
一般建議使用此選項必須謹慎
參考資料:
http://bartwullems.blogspot.tw/2012/10/team-foundation-server-2012-multi-proc.html
http://msdn.microsoft.com/en-us/library/bb651793.aspx
http://mikefourie.wordpress.com/2011/04/05/leveraging-msbuilds-buildinparallel-with-caution/
風來疏竹,風過而竹不留聲;雁度寒潭,雁去而潭不留影。故君子事來而心始現,事去而心隨空。