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

Could not copy. The process cannot access the file because it is being used by another process

当 运行 我在 Visual Studio 在线构建(使用内置构建控制器)时,我收到以下错误:

C:\Program Files (x86)\MSBuild.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (3962): Could not copy "d:\a\src\MySolution\MyProject\Trunk\packages\Microsoft.Data.Edm.5.6.4\lib\net40\Microsoft.Data.Edm.xml" to "..\Build\bin\Release\Microsoft.Data.Edm.xml". Beginning retry 1 in 1000ms. The process cannot access the file '..\Build\bin\Release\Microsoft.Data.Edm.xml' because it is being used by another process.

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

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

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

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

Failed to produce diagnostics extension's config for MyRole\diagnostics.wadcfgx. Error : Could not find a part of the path 'd:\a\src...\MyRole\diagnostics.wadcfgx'. Done Building Project "d:\a\src...\MyCloudProject.Cloud.ccproj" (Publish target(s)) -- FAILED.

我在源代码管理中丢失了一个文件。

我确实想知道为什么这个错误没有出现在我的构建摘要中。最初的错误从何而来?

我将 TFS 与 Using Visual Studio 2013 一起使用,并且已经能够通过关闭我要签入的所有打开文档来解决此问题(似乎 VS 已将自身锁定)and/or解决冲突。错误消息非常含糊,以至于无法确定签入失败的实际原因。

2016 年 11 月 2 日更新:

我不确定为什么 VS 2013 和 TFS 不能通过“团队资源管理器签入待定更改”按钮很好地协同工作,但它始终无法启动冲突解决程序,这是签入的关键部分过程。

以下对我在 VS 2013 和 SQLServer Express 2014 数据库上托管的 TFS 有效: 1. 启动 Source Explorer:Team Explorer 选项卡 -> Source Explorer
2. 导航到您的解决方案存储库 3. 然后对您要签入的每个项目执行以下操作: 一种。右击项目 b.签入挂起的更改 C。解决冲突并重复步骤 3a 和 3b,直到项目没有未决更改为止