TFS Build突然失败 - 错误MSB4018

时间:2017-02-08 19:31:00

标签: c# visual-studio-2015 tfs

我们有一个CI构建和一个夜间构建,以前工作得很好,但突然间它开始失败。我一直在分析日志,看看问题是什么,但日志一直抱怨已经存在的随机文件。这些文件唯一常见的是它们是.resx个文件。我收到这条消息:

  

CoreResGen:   2017-01-29T05:01:39.1421685Z处理资源文件" Resources \ SomeRandFile.resx"进入" obj \ Release \ Xxx.Model.Resources.SomeRandomResources.resources"。

     

' ## [错误] C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ SSDT \ Microsoft.Data.Tools.Schema.SqlTask​​s.targets(550,5):错误MSB4018:" SqlBuildTask"任务意外失败。

一切都习惯了,然后有一天它就停止了。我花了几天时间寻找这个错误,这是我到目前为止所尝试的:

  1. 删除 Windows \ Temp 文件夹
  2. 删除 AppData \ Local \ Temp 文件夹
  3. 在“存储库”选项卡中打开清除标志。
  4. 并没有任何效果。

    真的很感激,如果有人遇到过此问题以及您是如何解决的。

    只需注意:完全相同的代码在我的开发机器上本地工作。但是在构建服务器上失败了。

1 个答案:

答案 0 :(得分:1)

我构建了一个较旧的变更集,几周前已成功构建,以确定是否也会失败。我想确保它与签到无关。正如我所料,使用该更改集的构建失败并出现相同的错误。好的,所以至少我们知道它与签到无关。

然后我创建了另一个构建并继续修改它以从我的解决方案构建一个不同的随机项目。我的解决方案有大约50个项目,所以我开始随机选择项目并构建它们。在几次构建之后,出现完全相同错误的项目是我的数据库项目。迈向解决方案的又一小步。好的,我们到了某个地方。

然后我安装了最新版本的SQL Server Data Tools并尝试重建项目,但失败并出现同样的错误。然后,我安装了VS 2015的Update 3.重新尝试,再次失败并出现同样的错误。

我找到了...\UserAccountUsedByTfsBuild\AppData\Local\Temp并决定再次从中删除所有内容。再次尝试构建,失败并出现不同的错误:

  

错误CS2001:找不到源文件'C:\ Users \ UserAccountUsedByTfsBuild \ AppData \ Local \ Temp.NETFramework,Version = v4.0.SqlClrAttributes.cs'。

好的,太好了!不同的错误。我刚进入另一个用户的临时文件夹并复制了以下C#文件:

  1. .NETFramework,版本= v4.0.SqlClrAttributes
  2. .NETFramework,版本= v4.5.2.AssemblyAttributes
  3. .NETFramework,版本= v4.5.AssemblyAttributes
  4. 我再次运行构建并且YESSS IT PASSED !!

    然后我运行了整个解决方案的构建,它也通过了。

    结论/摘要

    1. 安装最新的SQL Server Data Tools
    2. 安装VS 2015的更新
    3. 删除TFS构建使用的帐户的临时文件(不要删除以.NETFramework...开头的文件)
相关问题