【问题标题】:Project Collection Build Services locking my files项目集合构建服务锁定我的文件
【发布时间】:2017-07-29 03:00:27
【问题描述】:

如果我误解了这个问题,我很抱歉,但我对 TFS 比较陌生,并且遇到了一些锁定问题。当我尝试保存/更改我的文件时,我收到一条错误消息:

无法锁定项目,项目已被 Project Collection Build 签出 服务。

发生这种情况的一些原因是什么?这发生在我排队一个新版本后不久。

谢谢。

【问题讨论】:

  • 您是否使用带有 TFS 的 Gated 签入构建?您使用的是哪种构建方式,vNext 还是 XAML?

标签: c# visual-studio tfs


【解决方案1】:

您似乎正在使用带有 TFS 的门控签入构建。

如果您使用的是 XAML 构建,当构建完成并显示成功时,如果变更集较大,您需要等待大约几分钟或更长时间才能签入 TFS。因此,在此期间,已编辑文件将即使构建完成仍会显示已签出。请耐心等待。当 TFS 完成签入挂起的更改时,一切都应该没问题。

如果您使用的是 vNext build,则 Gate Check-in 构建功能仅适用于 TFS 2015 Update 2 及更高版本。有时你可能会遇到这种情况。即使在 TFS 中构建已完成,但 Visual Studio 不会自动同步。 所以文件总是显示为已签出。作为一种解决方法,您可以关闭 Visual Studio 并稍后再回来。这些文件不应再显示已由构建服务帐户签出。


更新

首先检查所有待处理的更改。然后尝试在您的客户端上clear VS and TFS cache 并构建代理机器。

【讨论】:

  • 我们没有使用门控签到,但我们使用的是 vNext(我与 @TomPuts 合作)。当使用 shelevset 对构建进行排队时,这些文件将被锁定,并且仅在添加新的构建代理时才会启动。删除该构建代理并没有解决问题(重新创建服务器工作区和重新构建构建定义也没有)。除了门控签到之外,知道什么会导致这种情况吗?
  • @Barryman9000 您是否构建了指向正确代理的定义?并且代理的状态很好stackoverflow.com/questions/38825906/…。我想知道您是否没有完全配置新创建的构建代理。您需要遵循 detailstep 特别是作为服务运行。目前,您可以尝试清除 TFS 和 VS 缓存,然后重试。详情见我的更新。
  • 我们所做的是在 Visual Studio Developer Prompt 中针对工作区和所有者(“projec colleciton build service”)运行命令“tf undo”。
【解决方案2】:

我遇到了同样的问题。出于某种原因,“项目集合构建服务”在门控签入后锁定了一个文件。我们在 VS 的开发人员命令提示符中运行了以下脚本:

tf undo /workspace:<workspace_name>;"Project Collection Build Service" <REPO_PATH_WITH_LOCK>

[更新]:一个明确的解决方案就像这里提出的那样:How to prevent TFS 2013 from locking binary files?

【讨论】:

    猜你喜欢
    • 2021-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    相关资源
    最近更新 更多