【问题标题】:Could not copy. The process cannot access the file because it is being used by another process无法复制。该进程无法访问该文件,因为它正被另一个进程使用
【发布时间】:2015-07-18 04:51:18
【问题描述】:

在 Visual Studio Online 上运行构建时出现以下错误(使用内置构建控制器):

C:\程序文件 (x86)\MSBuild\14.0\bin\amd64\Microsoft.Common.CurrentVersion.targets (3962): 无法复制 "d:\a\src\MySolution\MyProject\Trunk\packages\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' 因为它正在被使用 由另一个进程。

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

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

【问题讨论】:

  • 尝试传递 MSbuild 参数 /m:1 以将用于构建的处理器数量减少到 1。
  • 我不确定是否值得一提,但我确实有多个工作区和多个使用此存储库的构建定义。

标签: tfs msbuild azure-devops


【解决方案1】:

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

2016 年 11 月 2 日更新:

我不确定为什么 VS 2013 和 TFS 不能通过 Team Explorer Check-in Pending Changes 按钮配合使用,但它始终无法启动冲突解决程序,这是签入过程的关键部分。

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

【讨论】:

    【解决方案2】:

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

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

    无法生成诊断扩展程序的配置 MyRole\diagnostics.wadcfgx。错误:找不到路径的一部分 'd:\a\src...\MyRole\diagnostics.wadcfgx'。完成建筑项目 “d:\a\src...\MyCloudProject.Cloud.ccproj”(发布目标)—— 失败。

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

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

    【讨论】:

    • 在哪里可以找到日志文件?
    猜你喜欢
    • 1970-01-01
    • 2010-12-10
    相关资源
    最近更新 更多