我如何让我的解决方案在Visual Studio回到在线的TFS?

我在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.

如何让文件更改被识别为挂起更改,并使整个解决方案重新联机?

129285 次浏览

我在网上搜索解决方案,发现这个解决方案,但不太热衷于注册表的变化。

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

在找到解决方案后,我发现下面的MSDN论坛线程证实了上述。

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

  1. 关闭所有VS实例。
  2. 打开注册表编辑器,转到: 微软HKEY_CURRENT_USER \ Software \ \ VisualStudio \ 11.0 \ TeamFoundation \实例李< / >
  3. 找到合适的服务器,例如:team32system1
  4. 进入Collection,然后next DefaultCollection: 微软HKEY_CURRENT_USER \ Software \ \ VisualStudio \ 11.0 \ TeamFoundation \ \ team32system1 \实例集合\ DefaultCollection李< / >
  5. “离线键”设置为“0”
  6. 在vs中打开解决方案,之后会弹出你想将解决方案带到在线模式的问题。

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

只有当“右键单击解决方案资源管理器顶部的解决方案名称并选择Go Online选项”失败时才这样做(例如,因为您安装了VS2015预览)。

(如果您缺少AutoReconnect或脱机注册表值,则从上述解决方案中选择额外步骤)

针对Visual Studio 2015,版本14

  1. 关闭所有VS实例
  2. HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0\TeamFoundation\Instances{YourServerName}\Collections{colllectionname}(要在Windows上找到这个目录,请按Windows + R键并搜索“regedit”)
  3. 将Offline和AutoReconnect值均设置为0。
  4. 如果您缺少这些属性中的一个(在我的例子中,我缺少AutoReconnect),右键单击并创建一个新的DWORD(32位)值,其中包含所需缺少的名称AutoReconnect或Offline。
  5. 同样,确保两个值都设置为零。
  6. 重新启动解决方案
< p >额外的信息: 博客MSDN -我的解决方案何时以及如何下线? < / p >

以上两种解决方案在Visual Studio Community 2017 v15.7.1上都不适用。不知何故,在上下文菜单中没有“Go Online”选项。我尝试了这里建议的注册表编辑,但只显示了无法找到绑定的错误。对我来说,有效的方法是从Change Source Control菜单中重新绑定解决方案到服务器。

File->Source Control->Advanced->Change Source Control并确保你的解决方案绑定到你的源代码控制。如果不是(像我的),然后点击绑定按钮,它会自动搜索在线TFS服务器,并重新绑定您的解决方案。

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

我没费多大力气就找到了另一条路。

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

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

在这里,您可以单击“否”,对于这样一个文件,实际发生的变化,其余只是撤销。这不会丢失您实际的更改

为了得到一个完整的解决方案,您需要执行两个步骤

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

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

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

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

  1. 尝试重新登记选项,但无法看到适当的菜单选项。没有工作。
  2. 右键单击解决方案,有go online选项和 当我选择它时,给出这个错误消息:"解决方案是 因为其关联的Team Foundation Server处于脱机状态。 无法确定此解决方案的工作空间。李" < /强> < / >

然后从文件->源控制->高级->更改源控制。我看了我的文件。我选择了它们,然后选择绑定选项。这对我很管用。

我的方法之一是“添加到源代码控制”,然后选择“Git”。