原文:http://blog.useasp.net/archive/2015/12/15/how-to-permanently-remove-vs-project-TFS-source-version-control-binding.aspx

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

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

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

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

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

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

    code
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    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

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

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

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

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

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

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

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

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

VS清除打开项目时的TFS版本控制提示的更多相关文章

  1. [转]VS清除打开项目时的TFS版本控制提示

    本文转自:http://www.cnblogs.com/weixing/p/5219294.html 对于曾经做过TFS版本控制的项目,在版本控制服务不可用的时候,依然会在每次打开项目的时候都提示:当 ...

  2. Android Studio 创建/打开项目时一直处于Building“project name”Gradle project info 的解决

    最近发现新版的AS,IDEA毛病不断,而且gradle的更新又给墙了,无奈啊! 进入类似如下的目录,发现如果没有对应的gradle解压文件,则在gradle官网下载完整压缩包,放入类似55xxxx串号 ...

  3. VS2013 打开项目时提示This project is incompatible with the current edition Visual Studio.

    刚安装完成了Visual Studio 2013后,打开项目时,遇到以下问题 解决方法:在Visual Studio 2013 的菜单中打开“Tools",并打开“Extensions an ...

  4. IDEA打开项目时,java文件左下角J图标的问题

    idea打开项目时,所有的java文件左下角出现J图标,如下图: 说明项目的资源路径配置有问题,打开Project Structure,如下图: 进行资源路径配置,即可解决问题,正确配置如下:

  5. Android Studio创建/打开项目时一直处于Building“project name”Gradle project info的解决办法

    重新安装了Android studio 之后, 启动android studio,打开原来的项目,界面一直停留在: 一直停留在此界面的原因是:Android studio 在下载 Gradle ,但是 ...

  6. Android studio打开项目时出现 gradle download 无反应

    在使用android studio 新建 项目的时候,会发现一直无法下载 gradle程序一直卡住不动,原因是被墙了. 解决方法: 到gradle官网下载离线包,解压后将bin路径加入Path环境变量 ...

  7. VS2010打开项目时,出现“已经在解决方案中打开了具有该名称的项目”问题的解决方案

    用的是VSS代码管理.一打开解决方案就看到有个类库不能加载. 解决方法: 直接右键编辑无法加载的类库,或者记事本编辑有问题类库的csproj文件, 删除以下几行: <SccProjectName ...

  8. VS2013 打开项目时出现 未定义标识符string的解决办法

    ---恢复内容开始--- 前两天从前辈那儿弄到一份源码,VC 6时期写出来的mfc程序. 打开之后直接编译编译成功,可以运行.但是看代码的时候却发现出现了好多错误,如 未定义标识符string,NUL ...

  9. VB打开project时出现冲突名称提示

    在敲机房时因为窗口命名不合适,我就改动了下窗口.可是保存后再打开的时候.却出现以下的提示: 这样的情况出现.通常是因为引用了别人的窗口文件,或者是改动窗口的名字可是就是找不到不论什么冲突的地方.事实上 ...

随机推荐

  1. iOS 开发之路(登陆页键盘遮挡输入框问题)一

    在学习开发登陆页的时候,遇到的问题分享如下: 首先是swift 3.0 中,NotificationCenter 设置 selector 如下: @IBOutlet weak var bottomCo ...

  2. 【Android】保存Fragment切换状态

    前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.c ...

  3. C#复习⑤

    C#复习⑤ 2016年6月19日 22:39 Main Inheritance 继承 1.继承的语法结构 class A { // base class int a; public A() {...} ...

  4. OEM代工厂产品经理个人经历谈

    创业不是一件随随便便的事情! 到2007年时,我已经在上海.广州.东莞三地的工厂打工有十来年了.正是这个时间结点,我也即将做父亲了.打了很久的工后,就开始感到疲倦,做来做去,都是给老板做,也就在这时开 ...

  5. Bug #19528825 "UNABLE TO PURGE A RECORD"

    概述: 在生产环境中,当开启insert buffer时(参数innodb_change_buffering=all),部分实例偶尔会出现“UNABLE TO PURGE A RECORD”错误.这个 ...

  6. python之递归实现

    一.递归函数 概念:递归算法是一种直接或者间接的调用自身算法的过程.在计算机编写程序中,递归算法对解决一大类问题是十分有效的. 特点: ①递归就是在过程或者函数里调用自身. ②在使用递归策略时,必须有 ...

  7. SQL Server开发接口生成方法

    为提高开发效率,生成固定格式的接口是必须的,以下以提供新增/修改/删除/读取接口为例: 以常见的表结构为例,特殊表结构可自己尝试去调整方法 主要通过系视图 sys.columns生成方法:为包含列的对 ...

  8. Linux磁盘管理之元数据、文件和目录、链接文件03

    一.存储设备分区简述 文件系统最终目的是把大量数据有组织的放入持久性的存储设备,如硬盘.硬盘存储能力具有持久性,不会因为断电而消失,存储量大,但读取速度慢.操作系统读取硬盘的时候,不会一个一个扇区读取 ...

  9. android XML布局 属性与运用

    padding 设置组件四边的间距,如20.0dip

  10. JavaScript实现简单的双向绑定

    很多的前端框架都支持数据双向绑定了,最近正好在看双向绑定的实现,就用Javascript写了几个简单的例子. 几个例子中尝试使用了下面的方式实现双向绑定: 发布/订阅模式 属性劫持 脏数据检测 发布/ ...