zoukankan      html  css  js  c++  java
  • VS清除打开项目时的TFS版本控制提示

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

    tfs版本控制提示

    tfs提示信息

    在项目中要永久清除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:TempTest下面
      TFSEliminator.exe D:TempTest
    3. 要直接运行,只需要将程序复制到项目的根目录下,然后双击运行即可。

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

  • 相关阅读:
    [bzoj3038/3211]上帝造题的七分钟2/花神游历各国_线段树
    [bzoj1002][FJOI2007]轮状病毒_递推_高精度
    UNIX环境高级编程——线程同步之互斥锁、读写锁和条件变量(小结)
    UNIX环境高级编程——线程与进程区别
    UNIX环境高级编程——死锁
    UNIX环境高级编程——线程同步之条件变量以及属性
    UNIX环境高级编程——线程同步之读写锁以及属性
    UNIX环境高级编程——线程同步之互斥量
    UNIX环境高级编程——pthread_create的问题
    UNIX环境高级编程——主线程与子线程的退出关系
  • 原文地址:https://www.cnblogs.com/weixing/p/5219294.html
Copyright © 2011-2022 走看看