不断获取本地数据存储当前正在由另一个操作在处理小型项目时使用

Posted

技术标签:

【中文标题】不断获取本地数据存储当前正在由另一个操作在处理小型项目时使用【英文标题】:Constantly get The local data store is currently in use by another operation when working on small projects 【发布时间】:2014-09-01 13:49:49 【问题描述】:

我在处理项目时使用 Visual Studio Team Services 来存储项目的源代码,我喜欢这项服务,尤其是它是免费的,但最近我遇到了最大的痛苦。

当我去保存、修改、签入签出时,我会为我正在修改的每个文件随机收到此错误。因此,如果我尝试将更改保存到 8 个文件,我会收到 8 次此消息,并且尝试签出每个文件需要 45 60 秒,这意味着错误停止需要 6-8 分钟(即使我点击取消) .

本地数据存储当前正被另一个操作使用

我在网上查了一下,发现很多人有同样的问题,但MS的回复与我的情况无关。

http://blogs.msdn.com/b/phkelley/archive/2013/05/31/tf400030-the-local-data-store-is-currently-in-use-by-another-operation.aspx

它基本上说,当您的工作区中有许多文件或同时打开多个大型解决方案时,可能会发生这种情况。

这不适用于我,因为我通常一次只打开一个解决方案,而且我的项目非常小(400 -500 个文件)。

【问题讨论】:

我也遇到了这个问题。每次我想签入文件时,我唯一能做的就是关闭 VS 并再次打开。哪怕是一个文件。它仅在 VS 启动后的几分钟内起作用。然后问题就来了,需要重新启动VS才能签入文件。非常烦人且效率低下。 在最新更新的 VS 2017 中仍在发生或出现回归。 = 【参考方案1】:

在 VS 2013 和 TFS 上也遇到了这个问题 - 每次我打开我的团队资源管理器时,都需要 10 多秒才能显示所有项目,然后当我在源代码管理中扩展项目时,又需要 10 多秒由。

今天早些时候,我在尝试将数据保存在类文件中时开始遇到“正在使用本地存储”错误。我做了一些原创性的研究,下面的链接肯定会节省一天的时间。现在 TFS 火了!

Local Data Store Solved

您所做的是编辑工作区(包括所有关联的项目),并将“位置”下拉菜单从“本地”更改为“服务器”。完成更改大约需要 4-5 分钟,但非常值得。

希望这会帮助别人。

【讨论】:

老实说,我在假期买了一台新电脑,在上面安装了一个新版本的 vs 2013,从那以后就没有问题了,所以我无法测试这是否是解决方案.但我会将其标记为购买新计算机不是大多数人正在寻找的解决方案。非常感谢! 在服务器上有你的工作空间,它是如何工作的?您确定需要在本地构建吗?也许我应该在发表评论之前对其进行测试,但我最初的好奇心战胜了我:) 此链接显示本地和服务器工作空间之间的区别。在大多数情况下,您希望使用本地,因为有更多好处。如果您遇到严重的性能问题,您可以删除本地项目,然后执行新的 get 以清除历史更改(这是一些性能问题出现的地方)。如果您在同一个项目的活跃团队中工作,您真的需要一个本地工作区,以便您合并文件而不是检出它们并为其他人锁定它们。 msdn.microsoft.com/en-us/library/bb892960.aspx 我必须参与维护的项目数量之多可笑。这对我来说是最好的解决方案“您的工作区包含超过 100,000 个项目。”因此,服务器让我免于跳出窗口等待只是添加一个新文件等......本地项目太多的疯狂...... 这是大型解决方案的完美答案!我正在使用超过 50 个项目和许多分支机构的解决方案。在更改之前,简单地添加甚至打开文件需要很长时间。 VS 在打开 XAML 文件时完全崩溃,有时需要几分钟才能等待“待定更改”更新。现在它正在快速燃烧。谢谢。【参考方案2】:

最近我开始收到相同的错误消息,并且 Visual Studio 开始在使用 TFS 和 nuget 时非常缓慢。我已经尝试修复和卸载,但没有解决问题。在那儿,它是如此缓慢,以至于我无法继续工作。 (在源代码管理资源管理器中展开一项需要 10 秒)

这是我的故事以及如何解决我的问题:

我分别映射了 tfs 文件夹而不是获取整个 TFS,因为有很多不相关的文档。在尝试了很多修复建议之后,我认为这可能是问题所在,因为我在使用 TFS 时第一次做了这个单独的映射。我通常一次映射并获取所有项目,以前从未遇到过这个问题。

我删除了所有映射,这就像魔术一样。错误消失了,缓慢的 TFS 源代码控制消失了,现在飞速发展了。为了安全起见,我还删除了我的工作区并创建了一个新的工作区并一次获取所有 TFS 项目。

【讨论】:

【参考方案3】:

我发现当我使用源代码管理资源管理器、解决方案资源管理器和/或团队资源管理器窗口运行不止一次 VS 2012+ 实例时会触发该错误。使用源代码管理资源管理器、解决方案资源管理器和/或团队资源管理器窗口串联运行 VS 2012+ 的单个实例(更新 2+)时,我没有遇到此问题。

我找到了这篇文章并给出了建议:防止多个线程同时访问数据存储。 http://blogs.msdn.com/b/phkelley/archive/2013/05/31/tf400030-the-local-data-store-is-currently-in-use-by-another-operation.aspx

这被证明是解决这个问题的方法。

我会为其他拥有大型文件存储库的用户添加,使用源代码控制并共享此问题,为您的每个分支/存储库创建多个工作区可能会非常有益。我发现通过这样做,我对 TFS 的查询大大加快了速度,并且也帮助解决了这个错误。我在这里找到了这个建议:http://blogs.msdn.com/b/phkelley/archive/2013/05/30/using-multiple-workspaces-with-visual-studio.aspx。当用户提到 TFS 运行缓慢时,我分享了这一点。

【讨论】:

【参考方案4】:

本周我也开始遇到同样的错误。 VS Update 3 可能有问题? 根本无法再处理“破碎”本地工作区的任何项目。 VS 会将所有文件显示为已签出,但实际上没有。 其他本地工作区工作正常。

我尝试从工作区中删除一个项目,但在尝试确认时,我会再次收到相同的 TF400030 错误。

建议

如果没有其他方法,您可能想试试这个:只需删除整个工作区并重新创建它,这次将项目分成不同的工作区。这对我有用。

您可能需要先备份文件。

【讨论】:

【参考方案5】:

我按照下面提到的做了,TFS 开始正常工作

    关闭所有VS实例 转到:C:\Users[用户名]\AppData\Local\Microsoft\VisualStudio\15.0_46af8b8e 删除 privateregistry.bin 文件 重新打开项目解决方案

以上对我有用。

【讨论】:

【参考方案6】:

遇到同样的问题,只需 3 步即可解决:

    删除当前工作区:源代码管理资源管理器->工作区列表框->工作区...并删除工作区。

    -确保签入所有待处理的更改

    删除 Workspace 本地文件夹。

    -最好完全删除文件夹。如果最终保留一些文件夹,请确保删除所有 $tf 文件夹(工作区文件夹中的隐藏文件夹)

    重新映射您需要的项目(越少越好)

希望有所帮助。

【讨论】:

【参考方案7】:

在我的情况下,原因是包含我的本地数据存储的压缩文件夹,在 Windows 资源管理器中显示为蓝色。删除压缩就可以了。

【讨论】:

【参考方案8】:

我在重命名我的工作区时遇到了这个错误。改回原样后一切正常

【讨论】:

我认为这更像是一条评论! 当然,但我无法发表评论,因为我还没有足够的代表 -.-【参考方案9】:

重新启动 Visual Studio 为我解决了这个问题。

【讨论】:

以上是关于不断获取本地数据存储当前正在由另一个操作在处理小型项目时使用的主要内容,如果未能解决你的问题,请参考以下文章

TFS Build 不断抛出“无法执行获取操作,因为该文件已在本地存在”错误

如何为当前打开的标签实现本地存储?

在 React 中,将获取的 Firebase 数据存储在本地还是全局状态?

我应该如何使用 Google Cloud KMS 存储由另一个应用程序生成的访问令牌?

如何正确同步解析与本地数据存储?

谷歌应用引擎过度数据存储小操作