C# 当我打开我的项目时,我会收到这样一条消息:“我的;此解决方案处于脱机状态。[团队基金/ /https://xxxxxxxxxxxx/tfs/applications" 此解决方案脱机。[ Team Foundation Server: 解决方案在其上一个会话期间处于脱机状态,并将保持脱机状态

C# 当我打开我的项目时,我会收到这样一条消息:“我的;此解决方案处于脱机状态。[团队基金/ /https://xxxxxxxxxxxx/tfs/applications" 此解决方案脱机。[ Team Foundation Server: 解决方案在其上一个会话期间处于脱机状态,并将保持脱机状态,c#,visual-studio,tfs,C#,Visual Studio,Tfs,什么样的问题会导致上述错误? 发生这种情况时,没有签入选项,尝试保存单个文件会导致一条消息,表明您尝试保存的文件受写保护。是否要覆盖?我仍然可以通过回答“是”来保存文件。但所有这些都非常混乱和危险。是什么原因导致这种情况 什么样的问题会导致上述错误 我假设您使用的是一个非gitTFS工作区(即,使用TFS的老式集中式源代码管理服务,本质上不是微软在这里发明的) TFS工作区有两种风格:““本地”工作区有点像git repo,它允许您在脱机工作时进行签入,但有一些限制。“服务器”工作区要求您与TF

什么样的问题会导致上述错误? 发生这种情况时,没有签入选项,尝试保存单个文件会导致一条消息,表明您尝试保存的文件受写保护。是否要覆盖?我仍然可以通过回答“是”来保存文件。但所有这些都非常混乱和危险。是什么原因导致这种情况

什么样的问题会导致上述错误

我假设您使用的是一个非gitTFS工作区(即,使用TFS的老式集中式源代码管理服务,本质上不是微软在这里发明的)

TFS工作区有两种风格:““本地”工作区有点像git repo,它允许您在脱机工作时进行签入,但有一些限制。“服务器”工作区要求您与TFS服务器建立活动且可靠的连接,并且在断开连接时无法进行签入(当然,您仍然可以进行更改,但不能将其保存到TFS)

我假设您有一个“服务器”工作区而不是“本地”工作区,因此会出现错误消息

发生这种情况时,没有签入选项,尝试保存单个文件会导致一条消息,表明您尝试保存的文件是写保护的

正确。但您始终可以删除文件系统中文件的只读标志,编辑文件,并在重新连接后进行手动同步以进行TFS签入。这些文件被标记为只读,因为TFS是围绕锁定文件和从源代码管理签出文件而设计的,因此它希望阻止您编辑文件尚未签出。如果您确实编辑了尚未签出的文件,您仍然可以将其包含在签入中,但需要在重新连接到TFS服务器时追溯签出

我仍然可以通过回答“是”来保存文件。但这一切都非常混乱和危险

这并不是很危险——版本控制系统的全部要点是可以自由地进行任意更改,并可以随时回滚(或分支)(除了使用TFS而不是
git
(尤其是脱机时),这只是一个相当大的PITA)

要解决这种情况:

  • 打开Visual Studio(不需要先打开项目/解决方案)
  • 假设您使用的是VS2015或更高版本,请打开团队资源管理器
  • 确保团队资源管理器处于TFS模式,而不是
    git
    模式:
    • 在git模式下,您将看到“更改”、“分支”、“同步”等按钮,这些按钮有一个红色突出显示
    • 在TFS模式下,您将看到“我的工作”、“挂起的更改”和“源代码管理资源管理器”等按钮
    • 如果处于git模式,请通过单击顶部工具窗口工具栏中的“连接”按钮切换到TFS模式,然后选择TFS服务器
    • 您还需要使用工具>选项>源代码管理>当前插件:“VisualStudio Team Foundation Server”。
  • 重新连接到TFS后,重新打开项目/解决方案
  • VS应检测到您在脱机时进行了更改,并提供为您创建挂起的签入(并自动签出任何已编辑的文件)。如果没有,请打开“源代码管理资源管理器”,手动运行“比较文件夹”工具,并在进行新签入之前签出它检测到已更改的任何文件
  • 您可能还需要转到文件>源代码管理>“联机”
这是Visual Studio 2008的屏幕截图(对不起,这是我能找到的唯一一个屏幕截图,但菜单布局是相同的):


完成这项工作并办理入住手续后,拜访当地的鱼贩子并购买一条大鳟鱼,然后拜访您的项目经理,给他们一记响亮的耳光,因为他们要求他们的团队在2020年使用TFS。即使是微软内部也使用git。

我不是TFS大师(顺便说一句,你可以加上这个标签),但你可以从这里开始:我能用鲸鱼和起重机拍打吗?:)