在 TFS 2012 beta 中构建失败,但该解决方案在 Visual Studio 2012 RC 中成功构建

Posted

技术标签:

【中文标题】在 TFS 2012 beta 中构建失败,但该解决方案在 Visual Studio 2012 RC 中成功构建【英文标题】:Build fails in TFS 2012 beta but the solution successfully builds in visual studio 2012 RC 【发布时间】:2012-09-14 02:37:59 【问题描述】:

我正在尝试让构建在 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 也无济于事。我可能错了。任何建议都需要帮助。

【问题讨论】:

【参考方案1】:

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

将两个引用的“复制本地”属性设置为 False。 保存更改 将其设置回 True 并触发构建。

这对我有帮助。

【讨论】:

这也为我解决了问题【参考方案2】:

感谢大家的回复。我发现了问题。一些 .dll 不在正确的路径上。我只是将 .dll 移动到 MSbuild 正在寻找的地方之一。

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于在 TFS 2012 beta 中构建失败,但该解决方案在 Visual Studio 2012 RC 中成功构建的主要内容,如果未能解决你的问题,请参考以下文章

WiX 构建在 TFS 中失败但在本地工作

从 TFS Build 构建 MSI

构建在 TFS 2012 中控制的 BizTalk 2013 R2 源?

构建失败并在 TFS 中出现 COMPILETODALVIK 错误,但它在我的本地计算机中正确构建

如何在 tfs 2012 中配置我的输出构建

TFS:构建 React 项目失败