如何在TFS中将我的解决方案在Visual Studio中重新联机?

时间:2012-12-03 10:57:28

标签: visual-studio tfs tfs2010

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

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

10 个答案:

答案 0 :(得分:470)

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

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

找到解决方案后,我发现以下msdn forum thread证实了上述内容。

答案 1 :(得分:9)

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

仅当"右键单击解决方案资源管理器顶部的解决方案名称并选择Go Online选项"失败(因为例如你安装了VS2015预览版)。

答案 2 :(得分:6)

(如果您缺少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),请右键单击并创建一个新的DWORD(32位)值,其中包含所需的缺失名称,AutoReconnect或Offline。
  5. 再次确保将两个值都设置为零。
  6. 重新启动解决方案
  7. 其他信息: blog MSDN - When and how does my solution go offline?

答案 3 :(得分:5)

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

答案 4 :(得分:2)

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

  1. 关闭所有VS实例。
  2. 打开注册表编辑器并转到: HKEY_CURRENT_USER \软件\微软\ VisualStudio的\ 11.0 \ TeamFoundation \实例
  3. 找到合适的服务器,例如:team32system1
  4. 转到Collection和nex DefaultCollection: HKEY_CURRENT_USER \软件\微软\ VisualStudio的\ 11.0 \ TeamFoundation \实例\ team32system1 \收藏\ DefaultCollection
  5. 将离线键设为0
  6. 在VS中打开解决方案。之后弹出应该出现哪个问题,你想为在线模式带来解决方案。

答案 5 :(得分:2)

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

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

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

答案 6 :(得分:0)

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

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

答案 7 :(得分:0)

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

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

接下来,VS会询问您要撤消或不是特定文件的经过手动更改的文件。

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

答案 8 :(得分:0)

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

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

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

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

答案 9 :(得分:0)

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