253

我在 Visual Studio 2012(受 TFS 源代码控制)中打开了我的解决方案,并且 TFS 服务器(2010)已关闭。然后,当我对其中一个文件进行更改并尝试保存它时,我收到一个提示,询问我是否要覆盖文件,说 TFS 服务器已关闭(不记得确切的单词),并且出现以下消息输出窗口:

This solution is offline.  [Team Foundation Server: http://tfs1:8080/tfs/server]
The solution was offline during its previous session and will remain offline.

如何让文件更改被识别为 Pending Changes 和整个解决方案重新联机?

4

10 回答 10

528

我在网上搜索了解决方案,找到了这个解决方案,但对注册表更改不太感兴趣。

我找到了一个更好的方法:右键单击解决方案资源管理器顶部的解决方案名称,然后选择Go Online选项。单击此按钮允许我选择离线时已更改的文件并再次使解决方案在线。

找到解决方案后,我找到了以下msdn 论坛帖子,证实了上述内容。

于 2012-12-03T10:57:27.727 回答
10

转到File > Source Control > Go Online,选择您更改的文件,然后完成该过程。

于 2018-10-08T18:39:39.597 回答
9

重命名解决方案的对应 .SUO 文件。SUO 文件包含 TFS 状态(在线/离线)以及许多其他好东西。

仅当“右键单击解决方案资源管理器顶部的解决方案名称并选择联机选项”失败时才执行此操作(例如,因为您安装了 VS2015 预览版)。

于 2015-03-10T15:00:06.687 回答
7

(如果您缺少 AutoReconnect 或 Offline 注册表值,则上述解决方案的附加步骤)

对于 Visual Studio 2015,版本 14

  1. 关闭所有 VS 实例
  2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\TeamFoundation\Instances{YourServerName}\Collections{TheCollectionName}(要在 Windows 上访问此目录,请按 Windows + R 键并搜索“regedit”)
  3. 将 Offline 和 AutoReconnect 值都设置为 0。
  4. 如果您缺少其中一个属性(在我的情况下,我缺少 AutoReconnect),请右键单击并使用所需的缺少名称、AutoReconnect 或 Offline 创建一个新的 DWORD(32 位)值。
  5. 同样,确保两个值都设置为零。
  6. 重新启动您的解决方案

附加信息: 博客 MSDN - 我的解决方案何时以及如何脱机?

于 2016-02-09T18:14:14.150 回答
4

我正在使用Visual Studio 2017 15.4.0版本。特别是当我开始使用轻量级解决方案选项时,这个离线的事情发生在我身上。我尝试了以上解决方案:

  1. 试图注册选项,但看不到适当的菜单选项。没用。
  2. 右键单击解决方案,有联机选项,当我选择它时,会显示此错误消息:“解决方案脱机,因为其关联的 Team Foundation Server 脱机。无法确定此解决方案的工作区。”

然后从File -> Source Control -> Advanced -> Change Source Control。我看到了我的文件。我选择它们,然后选择绑定选项。这对我有用。

于 2019-09-23T06:10:36.230 回答
2

你可以去使用注册表编辑器。

  1. 关闭所有 VS 实例。
  2. 打开注册表编辑器并转到:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\Instances
  3. 找到合适的服务器,例如:team32system1
  4. 转到集合并下一个 DefaultCollection:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\Instances\team32system1\Collections\DefaultCollection
  5. 将离线键设置为 0
  6. 在 VS 中打开解决方案。之后应该会出现弹出窗口,您希望将哪个问题带入在线模式。
于 2014-05-28T13:23:24.833 回答
1

以上解决方案都不适用于 Visual Studio Community 2017 v15.7.1。不知何故,上下文菜单中没有“Go Online”选项。我按照此处的建议尝试了注册表编辑,但这仅向我显示了找不到绑定的错误。对我有用的是从 Change Source Control 菜单将解决方案重新绑定到服务器。

转到File->Source Control->Advanced->Change Source Control并确保您的解决方案已绑定到您的源代码管理。如果不是(像我的一样)然后单击绑定按钮,它将自动搜索在线 TFS 服务器并将您的解决方案重新绑定到它。

于 2018-06-30T13:17:50.077 回答
0

我不费吹灰之力就找到了另一种方法。

只需右键单击您的解决方案,然后单击撤消挂起的更改。

接下来,VS 将询问您要撤消的实际更改的文件或不是特定文件。

在这种情况下,您可以为发生实际更改的此类文件单击否,其余的只是撤消。这不会丢失您的实际更改

于 2019-06-13T06:54:53.790 回答
0

您需要在此处执行两个步骤才能获得完整的解决方案

首先单击您打开的解决方案,然后转到文件-> 源代码管理-> 联机然后取消选中所有在您脱机时显示为正在修改的文件。

不要从源代码管理资源管理器中获取最新版本。这将导致一个对话框可能显示一堆文件,要求您解决冲突。而是这样做

在源代码控制资源管理器中,右键单击要获取最新的文件夹,然后单击高级 - 获取特定版本。在版本类型的下拉列表中选择最新,然后选择第一个复选框,上面写着覆盖未签出的可写文件。这将自动使您的文件夹与服务器上的最新文件夹同步

于 2019-06-24T22:44:50.203 回答
0

我用我的一种方法是“添加到源代码管理”,然后选择“Git”。

于 2020-12-14T09:07:56.623 回答