如何使用 TFS 离线工作

Posted

技术标签:

【中文标题】如何使用 TFS 离线工作【英文标题】:How to work offline with TFS 【发布时间】:2010-10-30 09:51:10 【问题描述】:

我们的 TFS 服务器目前存在一些临时连接问题,因此 VS 没有响应,导致 50 多名开发人员无法工作!

如果出现此类问题,是否可以将 TFS 切换到离线模式?

【问题讨论】:

如果操作系统仍然响应,使 VS 脱机的最快方法是打开网络连接,然后禁用连接,然后启用。如果您在远程工作,这肯定不是“方便”:) 可以取消绑定单个项目,而不是整个解决方案。 【参考方案1】:

请参阅此reference,了解有关如何从源代码控制绑定/取消绑定您的解决方案或项目的信息。注意:这不适用于您使用 GIT 的情况,并且可能不适用于 VS2008 之后的版本。

引用参考:

断开解决方案或项目 来自源代码管理

    在 Visual Studio 中,打开解决方案 资源管理器并选择要 断开连接。

    在“文件”菜单上,单击“源” 控制,然后更改源代码控制。

    在“更改源代码管理”对话框中 框,单击断开连接。

    点击确定。

【讨论】:

谢谢。痛苦的部分是等待连接超时让我进入VS! @MPritch - 你可以通过在你的主机文件中添加一个条目来加快这个速度,将你的 TFS 服务器指向 127.0.0.1。这会导致它快速失败,因此您可以使用 tvanfosson 的建议。不过不要忘记删除主机条目:) 我禁用了“断开连接”按钮。不得不关闭并再次打开它......这将所有内容置于离线模式。 对于 VS 2012RC+ 步骤 2.在文件菜单上,单击源代码管理,>然后更改源代码管理。 3.选择解除绑定 如果您可以关闭 VS,然后直接从您的 PC 重新打开 .sln 文件,会更容易。然后当 VS 询问你是否想脱机工作时选择“是”,因为无法连接到 TFS。【参考方案2】:

“脱机”扩展在源代码管理菜单中添加了一个按钮。

https://visualstudiogallery.msdn.microsoft.com/6e54271c-2c4e-4911-a1b4-a65a588ae138

【讨论】:

【参考方案3】:

plundberg:“断开连接”按钮仅适用于从 VS 2008 开始的 TFS 提供程序。即便如此,我也不确定它是否得到官方支持。使用 Go Offline 功能的推荐方法是[重新]打开解决方案。

Martin Pritchard:如果您在运行过程中卡住,您可以通过拔出网络插头(字面意思)或运行 ipconfig /release 来强制 VS 超时。

一旦您被标记为离线,以下是在该模式下工作的分步指南:http://teamfoundation.blogspot.com/2007/12/offline-and-back-again-in-vs2008.html

有关调整幕后行为的更多详细信息: http://blogs.msdn.com/benryan/archive/2007/12/12/when-and-how-does-my-solution-go-offline.aspx http://blogs.msdn.com/benryan/archive/2007/12/12/how-to-make-tfs-offline-strictly-solution-based.aspx

【讨论】:

为这些想法+1。幸运的是,我现在已经脱离了 TFS 地狱,并且使用了旧的 Subversion :) 看来强制离线模式的唯一方法是拔下网线。没有“离线工作”按钮。 这似乎对我有用。这是 TFS 的 - 和 SVN 的 +。离线时 SVN 工作得更好。【参考方案4】:

为此目的有几个小的视觉工作室扩展:

    对于 VS2010 和 TFS 2010,请尝试this 对于 VS2012 和 TFS 2010,使用 this

对于 TFS 2012,似乎不需要“离线”扩展。为了类似的目的,我阅读了一些关于名为 local workspace 的新功能。

另外,我在Git-TF 上取得了很好的成功。 git 的所有优点,当你准备好时,你可以将它推送到 TFS。

【讨论】:

【参考方案5】:

根据您打开的工具窗口,VS 可能会或可能不会在启动时尝试自动访问团队服务器。

为了获得最佳效果,试试这个:

    关闭 Visual Studio 的所有实例 打开一个空的视觉工作室(没有项目/解决方案) 查看默认打开哪些窗口,如果源代码管理资源管理器或团队资源管理器或任何其他使用团队的窗口默认打开(并激活),请关闭它们或将它们切换到后台选项卡。 关闭视觉工作室

您现在应该注意到,您可以启动 Visual Studio,而无需尝试访问 TFS 服务器。

我知道这只是对您的问题的补充,但我希望这对您有所帮助!

【讨论】:

【参考方案6】:

如果您打开了解决方案,但 TFS 已关闭,则您可能无法进入离线模式。如果您关闭并重新打开解决方案,将出现一个漂亮的小对话框,询问您是否要脱机。

或者,如果您不想关闭/重新打开解决方案,(如suggested by Bernie)您可以安装the TFS Go-Offline plugin,然后点击:

TEAM -> Go Offline

【讨论】:

好吧,我安装了“离线”插件,重新启动了 VS2013,选择了离线菜单……但是当我尝试打开一个项目时,TFS 仍然永远挂起。这件事会放弃并超时..吗?我们的 TFS 服务器当前已关闭,因此我无法在 VS2013 中执行任何操作。 ;-(【参考方案7】:

只需在本地机器上更改解决方案的根文件夹名称,它就会自动断开连接。

【讨论】:

作为紧急修复,这非常有效。出于某种原因,我的项目不会让我在不先解除绑定的情况下断开连接,这是我不想做的。这虽然解决了它【参考方案8】:

我只是想包含一个链接,以解决我在使用 VS2008 和 TFS08 时遇到的问题。

我在未连接到网络的情况下意外打开了我的解决方案,并且无法“恢复原状”,每次打开时都必须重新绑定。

我在这里找到了解决方案; http://www.fkollmann.de/v2/post/Visual-Studio-2008-refuses-to-bind-to-TFS-or-to-open-solution-source-controlled.aspx

基本上,您需要打开“连接到 Team Foundation Server”,然后打开“服务器...”,删除/删除您的服务器并重新添加它。这解决了我的问题。

【讨论】:

【参考方案9】:

如果代码已经被用户签出,如果离线并且他们的本地硬盘上有最新版本,那么他们只需要浏览到解决方案位置并通过双击 sln 文件打开解决方案。该解决方案将以断开连接模式打开。

【讨论】:

以上是关于如何使用 TFS 离线工作的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 API 创建跨 TFS 集合的 TFS/Azure DevOps 工作项查询并将其导出到 Wor/Excel/Outlook 等

如何删除另一个用户的 TFS 工作区映射

如何查找未链接到工作项的TFS更改集

如何通过代码获取 TFS 工作项验证错误消息?

如何更新 TFS 中没有数据的字段的工作项

如何从 TFS 获取子工作项的激活日期和关闭日期