我正在尝试让构建在 TFS 中的构建代理上运行。我可以在 Visual Studio 2012 RC 中成功构建解决方案,其他开发人员也可以在他们的解决方案中做同样的事情。我为调试配置创建了构建定义,并在 TFS 服务器中将构建排入队列。我收到以下错误日志。
Error: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1046): The command "IF EXIST ../batch (
cd ../batch
) ELSE (
cd ../../Sources/Solution_Name/Project_Name/batch
)
createDepsFile Project_Name
" exited with code 9009.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1561): Could not resolve this reference. Could not locate the assembly "System.Web.Optimization". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets (1561): Could not resolve this reference. Could not locate the assembly "System.Web.Providers". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
Error Global.asax.cs (16): The type or namespace name 'Optimization' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)
我检查了添加到项目中的参考。我找不到那些程序集。在查看了所有帖子后,我发现了一些很好的建议,例如使用 NuGet 将这些程序集添加到解决方案中,然后在 TFS 中签入解决方案。缺少参考只是“警告”而不是错误。我仍然无法在我正在寻找的 Nuget 中找到所有程序集。一些帖子提到该项目可能指的是 .Net 4.5 而不是安装在构建机器中的 .Net 4.0。在我确切地知道问题所在之前,我不想更改解决方案。我分散在这个问题上。
在这一点上,我认为它与构建定义无关。Code 9009 也无济于事。我可能错了。任何建议都需要帮助。