去除TFS版本控制

Posted 炫丽彩虹的男人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去除TFS版本控制相关的知识,希望对你有一定的参考价值。

对于曾经做过TFS版本控制的项目,在版本控制服务不可用的时候,依然会在每次打开项目的时候都提示:当前项目是版本控制的项目,但是当前版本控制不可用,balabala的信息,如果是需要进行版本控制的项目在临时无法连接到版本控制服务器的时候出现这个提示,也属于正常的,但是如果是不再需要进行版本控制的项目,还这么次次打开都这么提示,就有些受不了——关键是,没有,只能想办法删除了。

在项目中要永久清除TFS版本控制,需要操作三步(请确保操作之前没有在使用当前项目):

  1. 清除(删除)项目下的所有版本控制文件,这些文件有:*.vssscc,*.vspscc

    删除这些版本控制文件比较简单,搜索这些后缀的文件,删除即可;

  2. 修改项目的解决方案文件:*.sln

    先要确认解决方案文件(*.sln)是可修改的,如果是Read-Only的文件,则需要先调整为可修改。     切勿使用打开文件,使用文本编辑器打开*.sln文件,在文件中,我们将能看到类似下面的代码:

技术分享
技术分享
GlobalSection(TeamFoundationVersionControl) = preSolution
       SccNumberOfProjects = 4
       SccEnterpriseProvider = {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
       SccTeamFoundationServer = here is your project‘s tfs
       SccLocalPath0 = .
       SccProjectUniqueName1 = project-unique-name1.csproj
       SccProjectName1 = your-project-name
       SccLocalPath1 = project-local-path
       SccProjectUniqueName2 = project-unique-name2.csproj
       SccProjectName2 = project-name-2
       SccLocalPath2 = local-path2
       SccProjectUniqueName3 = project-unique-name3.csproj
       SccProjectName3 = project-name-3
       SccLocalPath3 = local-path3.
   EndGlobalSection
技术分享
技术分享

   3. 这段代码是项目启动时加载的TFS配置,我们要剔除TFS,此段代码就必须删掉了,删除之后,保存文件即可。

  • 修改各个子项目中的信息,这些信息在:*.csproj(C#项目,其他项目文件后缀不同)

    完成上面两步,项目的TFS控制信息已经清理的差不多了,如果是VS2010项目,则用2010打开的时候会有提示,选择永久(完全)删除源代码控制的关联绑定,确认即可完成整个项目的TFS清理工作1

    Mitchell这里使用的是VS2012,打开的是VS2013的项目,在打开项目的时候,虽然完成了上面两步,但在加载项目时,在VS的输出窗口中还是会显示:

  • 未能找到解决方案的映射。 未能找到解决方案的映射。 未能找到解决方案的映射。 活动解决方案已暂时与源代码管理断开连接,因为服务器不可用。若要尝试重新连接源代码管理,请在服务器可用时关闭并重新打开解决方案。如果要连接到其他服务器,请使用“更改源代码管理”对话框。

这种问题是因为*.csproj中还有版本控制信息,导致VS还会尝试进行TFS相关操作,要解决这个问题,需要删除*.csproj文件中的相关信息,用文本编辑器打开文件,你能看到类似下面的信息:

技术分享
技术分享
<PropertyGroup>
  <!--其他配置-->
  <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
  <FileAlignment>512</FileAlignment>
  <SccProjectName>???</SccProjectName>
  <SccLocalPath>???</SccLocalPath>
  <SccAuxPath>???</SccAuxPath>
  <SccProvider>???</SccProvider>
</PropertyGroup>
技术分享
技术分享

上面的Scc*的配置即是版本控制信息。可以简单粗暴的将它删除即可,删除完成后,保存文件。

完成上面的操作之后,我们再次用VS打开项目,就不会再有任何TFS的相关信息提示了,又可以和VS快乐的玩耍了。

当然 如果你觉得这还是麻烦,那么你可以下载Mitchell写的TFSEliminator 工具(需要.NET 4.0支持)

使用也是相当方便,有两种方式:

    1. 1. 命令行:
    2. # 在命令行下,使用: # Application ProjectRoot # 的格式即可完成对指定目录下的TFS信息的剔除 # 如:项目在D:\Temp\Test下面 TFSEliminator.exe D:\Temp\Test
    3. 要直接运行,只需要将程序复制到项目的根目录下,然后双击运行即可。

      注意: 命令行会有提示,如果确认路径没有问题,记得按回车或者Y哦~

以上是关于去除TFS版本控制的主要内容,如果未能解决你的问题,请参考以下文章

源代码管理工具——TFS

如何在源代码控制(Visual Studio 和 TFS)中比较文件 .csproj 与最新版本

tfs版本控制器安装

重新建立 TFS 源代码控制绑定

集成 TFS 版本控制的最佳方法是啥

如何从 TFS CI 任务的源代码中获取版本(major.minor.patch)号