TFS Build - "该进程无法访问该文件,因为该文件正由另一个进程使用"

时间:2017-09-13 14:35:19

标签: tfs tfsbuild tfs2015

我们目前在旧的Xaml构建定义中运行了一个传统解决方案(跨多个解决方案的> 300个项目)。我试图将其转换为vNext构建定义,但我有间歇性错误。

每隔一段时间,进程中的文件就会被锁定,导致构建引发以下错误:

  

CSC(0,0)元数据文件' E:\ Builds \ 1 \ 3 \ a \ Newtonsoft.Json.dll'无法打开 - 该进程无法访问该文件' xxx.dll'因为它正被另一个进程使用。

每次都是一个不同的文件(最新的是Newtonsoft.json.dll - 一个nuget包),并不总是相同的解决方案。后续构建将正常工作。

我试图通过在构建参数中添加/NodeReuse:false来解决此问题,虽然它似乎已经将频率降低了一点,但它仍然没有解决问题。

由于构建的性质,以及它依赖于输出到公共位置的项目(项目使用文件和项目引用的组合),我配置了以下设置:

/p:OutDir="$(build.stagingDirectory)" /p:ReferencePath="$(build.stagingDirectory)" /NodeReuse:False

它们几乎总是这些dll所在的临时目录。

目前,重新配置产品以专门使用项目参考不可行。

我可以在构建步骤中做些什么来消除这些锁定问题吗?

0 个答案:

没有答案