當Team Build 發生 MSB4175錯誤時應如何處理?

  • 1732
  • 0

摘要:當Team Build 發生 MSB4175錯誤時應如何處理?

當使用Team Build 編譯含有Nuget的方案時 若出現以下錯誤:

 

 [BuildPath]\.nuget\nuget.targets(71,9): error MSB4175: 無法從組件 "C:\Program Files (x86)\MSBuild\12.0\bin\amd64\Microsoft.Build.Tasks.v4.0.dll" 載入工作 Factory "CodeTaskFactory"

 

通常是因為TFS 2013的 MSBuild 的CodeTaskFactory已從Microsoft.Build.Tasks.v4.0.dll改到 Microsoft.Build.Tasks.v12.0.dll

因此 需要修改nuget.targets 中的:

 

<UsingTask AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll" TaskFactory="CodeTaskFactory" >
...

 

 

<UsingTask AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v$(MSBuildToolsVersion).dll" TaskFactory="CodeTaskFactory" >
...

 

參考網址:

http://stackoverflow.com/questions/20661943/build-on-tfs-2013-failed-but-okay-locally

 

風來疏竹,風過而竹不留聲;雁度寒潭,雁去而潭不留影。故君子事來而心始現,事去而心隨空。