如何在TFS中使Visual Studio中的解决方案恢复在线状态?


242

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

我如何使文件更改被识别为“待定更改”和整个解决方案之中的一部分?

Answers:


504

我在网上搜索解决方案并找到了该解决方案,但对注册表更改不太热衷。

我找到了一个更好的方法:右键单击解决方案资源管理器顶部的解决方案名称,然后选择“联机”选项。单击此按钮,可以选择脱机时已更改的文件,然后使解决方案再次联机。

找到解决方案后,我发现了以下msdn论坛线程,该线程确认了上述内容。


1
为我工作。谢谢。
Bijimon 2013年

2
为我工作,非常感谢。为此,进入注册表将很奇怪。
Nick N.

我今天真的需要这个 感谢您提供答案。很棒。
Tony Abrams

2
为什么不首先显示。我差点错过了这个答案。:(
阿德里安

4
这是最佳答案,也可以在Visual Studio 2017中使用。无需编辑注册表。
Wayland Young

9

重命名解决方案的相应.SUO文件。SUO文件包含TFS状态(联机/脱机)以及许多其他功能。

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


8

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


6

(如果您缺少“自动重新连接”或“脱机”注册表值,则上述解决方案的其他步骤)

对于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. 将“脱机”和“自动重新连接”值都设置为0。
  4. 如果缺少这些属性之一(在我的情况下,我缺少自动重新连接),请右键单击并创建一个新的DWORD(32位)值,并使用所需的名称(自动重新连接或脱机)。
  5. 同样,确保两个值都设置为零。
  6. 重新启动您的解决方案

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


3

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

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

然后从文件->源代码管理->高级->更改源代码管理。我看到了我的文件。我选择它们,然后选择绑定选项。那对我有用。


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中的开放解决方案。之后会弹出一个对话框,您想将解决方案带到在线模式。

stackoverflow.com/questions/261525/…我比该解决方案更喜欢以下页面;)。很高兴重新绑定所有csproj
Nordes

1

以上两种解决方案均不适用于Visual Studio Community 2017 v15.7.1。不知何故,上下文菜单中没有“联机”选项。我按照此处的建议尝试了注册表编辑,但是这只向我显示了找不到绑定的错误。对我有用的是从“更改源代码控制”菜单将解决方案重新绑定到服务器。

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


0

我发现了另一种方法而无需付出太多努力。

只需右键单击您的解决方案,然后单击“撤消未决更改”即可。

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

在此文件中,您可以单击“否”以进行实际更改,剩下的只是撤消操作。这不会丢失您的实际更改


0

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

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

不要从Source Control Explorer中获取“获取最新版本”。这将导致对话框中可能显示一堆文件,要求您解决冲突。而是这样做

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.