【问题标题】:How can I completely remove TFS Bindings如何完全删除 TFS 绑定
【发布时间】:2010-09-26 09:57:38
【问题描述】:

我有一个包含大量项目的解决方案,

我想完全删除源代码管理绑定,我该怎么做?

更新: 我真正想做的是将一个解决方案及其项目从 TFS 2005 -> 2008 转移。这就是我删除绑定的原因,有没有更好的方法来做到这一点?

【问题讨论】:

  • 我认为您不必删除并重新添加绑定即可升级到较新的 TFS。 2008 客户端完全替代了 2005 客户端,并在 VS 2005 和 2008 中适用于新旧服务器。
  • 我创建了一个 VSIX 插件,它删除了 TFS 绑定并压缩了您的解决方案的副本(也删除了所有不必要的文件)。见visualstudiogallery.msdn.microsoft.com/…
  • 空模型文件夹搞砸了@RickAnd-MSFT 我不得不删除并重新创建它,否则效果很好。谢谢
  • @RickAnd-MSFT 这应该是一个答案

标签: tfs version-control source-control-bindings


【解决方案1】:

文件 -> 源代码管理 -> 高级 -> 更改源代码管理,然后取消绑定和/或断开所有项目和解决方案。

这应该会从解决方案和项目文件中删除所有绑定。 (之后您可以在工具 -> 选项 -> 源代码管理 -> 插件选择中切换 SCC 提供程序)。

SCC 规范规定所有 SCC 提供者都应实现此行为。 (我只测试了VSS、TFS和AnkhSVN)

【讨论】:

  • +1,但不幸的是这仍然保留项目文件中的元素,以及保留 .vssscc 文件。但是,解决方案文件已被清除。使用 VS 2010 Pro,这是我们使用过的第一个 TFS 项目。
  • 这假设您可以连接到原始 TFS 服务器。
  • 我创建了一个 VSIX 插件,它删除了 TFS 绑定并压缩了您的解决方案的副本(也删除了所有不必要的文件)。见visualstudiogallery.msdn.microsoft.com/…
  • 我的 TFS 工作区由于不活动(可能)而被删除。但我仍然能够删除绑定。然而,它第一次并没有奏效。我第二次检查所有绑定仍然存在。第二次我解除了所有工作的绑定。
【解决方案2】:

我在 Visual Studio 中没有文件 -> 源代码控制菜单,因为我从未在此 Visual Studio 安装中使用过 TFS。

我的问题是我从互联网上打开一个解决方案,而原作者忘记删除 TFS 绑定,所以每次我打开解决方案时我都会收到一个烦人的弹出窗口说

"Go Offline

The Team Foundation Server http://some-other-guys-tfs-server/ 
is currently unavailable.

The solution will be opened offline."

为了摆脱这种情况,我删除了 .sln 文件旁边的 .suo,然后在记事本中打开 .sln 文件并删除了整个部分:

GlobalSection(TeamFoundationVersionControl) = preSolution
    SccNumberOfProjects = 2
    SccEnterpriseProvider = {xxxxx}
    SccTeamFoundationServer = http://some-other-guys-tfs-server/
    SccLocalPath0 = .
    SccProjectUniqueName1 = xxDemo\\xxDemo.csproj
    SccProjectName1 = xxDemo
    SccLocalPath1 = xxDemo
EndGlobalSection

在记事本中保存.sln,然后在Visual Studio中打开,问题就解决了。

更新:Saveen Reddy 已创建 a tool 来执行此操作。不过我没试过。

【讨论】:

  • 就是这样,我也有这个弹出窗口。谢谢。但是,如果我删除了 .suo 文件并启动 VS,我会丢失打开文件的历史记录。将 .suo 文件移回,我打开的文件又回来了。所以我只需要删除该部分。
  • 我有一个在 VSS 中添加到 TFS 的项目,并且 VS 一直将 VSS 视为源代码控制提供程序(即使我删除了绑定,这无疑是一个独立的问题)。删除项目中上述代码,重新绑定到TFS即可解决问题。
  • 我在删除 .suo 文件之前遇到了麻烦。直到那时它才问我是否要永久删除源代码控制绑定。
  • 在这个时代,我们需要为这个简单而常见的任务这样做吗?微软应该考虑可用性......
  • 在 VS 2015 上运行良好,只需要删除 .sln 文件中的 TFS 部分
【解决方案3】:

最简单的解决方案是打开 Visual Studio,在 工具 > 选项 > 源代码管理 中停用 TFS 插件,然后重新打开要清理的解决方案。 Visual Studio 将要求删除源代码控制绑定

【讨论】:

  • 另外我忘了提,这是一个 VS 2008 解决方案,我认为你的答案只适用于 VS 2005。
  • 已经尝试了许多不同的解决方案,但这似乎是最简单和最快的(在 Visual Studio 2012 中)。到目前为止,我一直在研究我的解决方案!
  • 太棒了!它快速、简单,正是我需要从所有 TFS 绑定中清除项目。
  • 这在 2013 年似乎不起作用 - 源代码管理插件存储在解决方案中。
  • 这在 VS2013 Ultimate 中非常适合我。我将单个解决方案从 TFS 转移到 SVN,这节省了我的培根。
【解决方案4】:

如果有人需要在 Visual Studio 应用程序的上下文之外执行此操作 - 例如通过命令行,我编写了一个小工具,它将从解决方案和项目文件中删除源代码控制绑定。源代码在这里:https://github.com/saveenr/VS_unbind_source_control

【讨论】:

  • 抱歉,这对我不起作用。它一直询问我是否要断开与新服务器的连接并重新连接到旧服务器。
  • 不错的小工具。我刚刚将我们公司的存储库从 TFS 转换为 SVN,这些消息令人讨厌。顺便说一句,针对 VS2019 中内置的解决方案运行了这个,没有问题,它也适用于 2015 、 2017 。我做了一个小改动,以更好地列出流程失败的解决方案/项目。如果您有很多项目要转换,它们可能会丢失。
【解决方案5】:

旧帖子,所以只是添加@Matt Frear 和@Johan Buret 的答案。 两者都有效

但在马特的情况下,您需要在记事本/文本编辑器中设置这些(VS 2012):

SccProjectName = ""
SccAuxPath = ""
SccLocalPath = ""
SccProvider = ""

到解决方案文件 (.sln) 中的每个项目。

@Johan 的回答有效地做到了这一点......

【讨论】:

    【解决方案6】:

    有时,绑定信息会被缓存

    清除团队资源管理器的缓存:

    Go to C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\2.0
    Delete or rename the Cache folder.
    

    这来自一个我现在找不到的网站。谢谢那个人的提示。

    【讨论】:

      【解决方案7】:

      下一个对我有用:

      1. 删除所有 .vssscc(解决方案绑定)和 .vspscc(项目绑定)文件
      2. 从解决方案文件中删除块 GlobalSection(TeamFoundationVersionControl) = preSolution

      标签中的proj 文件中还可能包含有关源代码管理的信息

      <SccProjectName>SAK</SccProjectName> <SccLocalPath>SAK</SccLocalPath> <SccAuxPath>SAK</SccAuxPath> <SccProvider>SAK</SccProvider>

      "Should Already Know" 的 SAK 状态,因此可以保留。

      【讨论】:

        【解决方案8】:

        您可以尝试使用此工具自动从项目中删除 Team Foundation 绑定。 http://www.softpedia.com/get/Programming/Other-Programming-Files/Team-Foundation-Binding-Remover.shtml

        【讨论】:

          【解决方案9】:

          我发现这个工具可以帮助我完全摆脱 tfs 绑定,它在此处找到 https://marketplace.visualstudio.com/items?itemName=RonJacobs.CleanProject-CleansVisualStudioSolutionsForUploadi

          它会在不修改原始项目的情况下使用已移除的源绑定创建一个 zip。

          【讨论】:

            【解决方案10】:

            在 Visual Studio 2015 中,

            1. 通过File-&gt;Source Control-&gt;Advanced-&gt;Change Source Control取消绑定解决方案和项目
            2. 删除C:\Users\&lt;user&gt;\AppData\Local\Microsoft\Team Foundation\6.0中的缓存

            【讨论】:

            • 当我从文件夹中删除缓存时,当我重新打开 vs. 后它又回来了。
            【解决方案11】:

            在 VS2017 中

            1. 在团队资源管理器中转到主页
            2. 点击项目部分中的设置
            3. 点击 Git 部分中的 Repository Settings
            4. 从下一个窗口查看遥控器部分。您将看到 删除 选项

            注意:我检查了 git 存储库

            【讨论】:

              【解决方案12】:

              另一个选项是

              删除工作区

              在需要时重新映射

              确保检查、回滚(撤消待处理的更改)

              在删除工作区之前

              这是最快最可靠的一个

              祝你好运

              【讨论】:

                【解决方案13】:
                1. 转到文件 -> 源代码管理 -> 高级 -> 更改源代码管理(如果没有出现更改源代码管理,请在解决方案资源管理器中单击解决方案,然后重试)
                2. 取消绑定解决方案和所有项目

                现在右键单击解决方案,您将看到“将项目添加到源代码管理”。如果您想再次将项目添加到源代码管理中,您可能会遇到一些错误,要求您更改 TFS 上的解决方案文件夹。发生这种情况是因为您的解决方案在工作区中有一些映射。删除映射或删除工作区。现在您的解决方案已完全解除绑定,并且未从 TFS 或工作区映射。

                【讨论】:

                  【解决方案14】:

                  Here you can find another tool(包括源代码)从解决方案和项目文件以及 .vssscc 和 .vspscc 文件中删除 SCC 占用空间。此外,它还删除了输出和其他可配置目录。

                  斯蒂芬

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2017-01-14
                    • 2013-03-07
                    • 2015-10-26
                    • 2021-12-18
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多