摘要:當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
風來疏竹,風過而竹不留聲;雁度寒潭,雁去而潭不留影。故君子事來而心始現,事去而心隨空。