在TFS 2012测试版中构建失败,但该解决方案在visual studio 2012 RC中成功构建

时间:2012-09-14 02:37:59

标签: tfs tfsbuild

我正在尝试使用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也没有帮助。我可能错了。任何建议的人都需要帮助。

3 个答案:

答案 0 :(得分:1)

System.Web.Optimization和System.Web.Providers听起来像一个ASP MVC项目。无论如何请尝试以下方法:

  • 为两者引用“复制本地”属性为False。
  • 保存更改
  • 将其设置回True并触发Build。

对我来说这有帮助。

答案 1 :(得分:1)

感谢响应人员。我发现了这个问题。一些.dll不在正确的道路上。我只是将.dll移动到MSbuild寻找的地方之一。

答案 2 :(得分:0)

听起来你在构建服务器上缺少一些依赖项。我不确定您必须在开发人员计算机上安装什么才能获得System.Web.Optimization和System.Web.Providers,但如果它只是VS 2012,那么您可以尝试在构建代理服务器上安装VS 2012。 / p>