无法复制。该进程无法访问该文件,因为该文件正由另一个进程使用

时间:2015-05-07 14:30:06

标签: tfs msbuild tfs2012 azure-devops tfs2013

我在Visual Studio Online上运行构建时遇到以下错误(使用内置的Build Controller):

  

C:\ Program Files   (86)\的MSBuild \ 14.0 \ BIN \ AMD64 \ Microsoft.Common.CurrentVersion.targets   (3962):无法复制   “d:\ A \ SRC \ MySolution \ MyProject的\干线\包\ Microsoft.Data.Edm.5.6.4 \ LIB \ net40 \ Microsoft.Data.Edm.xml”   到“.. \ Build \ bin \ Release \ Microsoft.Data.Edm.xml”。开始重试1   1000毫秒。该进程无法访问该文件   '.. \ Build \ bin \ Release \ Microsoft.Data.Edm.xml'因为正在使用它   通过另一个过程。

它永远不是同一个文件,但似乎总是来自packages文件夹的xml或dll。

编辑:我不确定是否值得一提,但我确实有多个工作区和使用此存储库的多个构建定义。

2 个答案:

答案 0 :(得分:3)

我发现了问题。完全与上述错误无关。

我进入了msbuild日志文件,发现了这个:

  

无法生成诊断扩展程序的配置   MyRole \ diagnostics.wadcfgx。错误:找不到路径的一部分   ' d:\ A \ SRC ... \ MyRole \ diagnostics.wadcfgx&#39 ;.完成建筑项目   " d:\ A \ SRC ... \ MyCloudProject.Cloud.ccproj" (发布目标) -   失败。

我在源代码管理中缺少一个文件。

我确实想知道为什么这个错误没有冒泡到我的构建摘要中。那个初始错误来自哪里?

答案 1 :(得分:1)

我正在使用TFS和使用Visual Studio 2013,并且能够通过关闭我想要签入的所有打开文档(似乎VS锁定自己)和/或解决冲突来解决此问题。错误信息非常模糊,因此对于登记失败的实际原因没有用处。

2016年11月2日更新:

我不确定为什么VS 2013和TFS不能通过Team Explorer Check-in Pending Changes按钮一起玩得很好,但它始终无法启动冲突解决程序,这是检查的关键部分-in process。

以下适用于我在VS 2013和托管在SQLServer Express 2014数据库上的TFS: 1.启动Source Explorer:团队资源管理器选项卡 - > Source Explorer
2.导航到解决方案存储库 3.然后对要签入的每个项目继续执行以下操作:   一个。右键单击项目   湾签入挂起的更改   C。解决冲突并重复步骤3a和3b,直到项目没有待处理的更改