【问题描述】用 Visual Studio 2013打开一个项目时,出现下面错误:

【问题原因】参考 http://codeverge.com/asp.net.web-forms/the-project-appears-to-be-under-source-cont/434113

出现上面错误的原因是,项目使用了 VSS 或 TFS 或 SVN 等版本控制工具,而本机没有安装对应的工具。

如果使用了 VSS 或 TFS,那么工程所在的文件夹下会有 .vssscc 文件;

如果使用了SVN,那么工程所在的文件夹下会有一个隐藏的 .svn 文件夹。

【解决方案】 参考 http://blog.useasp.net/archive/2015/12/15/how-to-permanently-remove-vs-project-TFS-source-version-control-binding.aspx

1、清除(删除)项目下的所有版本控制文件,这些文件有: *.vssscc,*.vspscc,*.scc,删除这些版本控制文件比较简单,搜索这些后缀的文件,删除即可;

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

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

GlobalSection(TeamFoundationVersionControl) = preSolution
       SccNumberOfProjects =
       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-
       SccLocalPath2 = local-path2
       SccProjectUniqueName3 = project-unique-name3.csproj
       SccProjectName3 = project-name-
       SccLocalPath3 = local-path3.
   EndGlobalSection

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

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

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

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

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

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

<PropertyGroup>
  <!--其他配置-->
  <TargetFrameworkVersion>v4.</TargetFrameworkVersion>
  <FileAlignment></FileAlignment>
  <SccProjectName>???</SccProjectName>
  <SccLocalPath>???</SccLocalPath>
  <SccAuxPath>???</SccAuxPath>
  <SccProvider>???</SccProvider>
</PropertyGroup>

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

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

4、当然 如果你觉得这还是麻烦,那么你可以下载Mitchell写的TFSEliminator工具(需要.NET 4.0支持),使用也是相当方便,有两种方式:

(1) 命令行:

# 在命令行下,使用:
# Application ProjectRoot
# 的格式即可完成对指定目录下的TFS信息的剔除
# 如:项目在D:\Temp\Test下面
TFSEliminator.exe D:\Temp\Test

(2) 要直接运行,只需要将程序复制到项目的根目录下,然后双击运行即可。

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

【Visual Studio】The project appears to be under source control, but the associated source control plug-in is not installed on this computer的更多相关文章

  1. 【Visual Studio】Windows program compatibility mode is on, turn it off……

    [问题描述]Windows 10上安装 Visual Studio Ultimate 2013,出现下面错误: [解决方案]将.iso文件解压到硬盘再安装.

  2. 【Visual Studio】error C2220: 警告被视为错误 - 没有生成“object”文件 (转)

    原文转自 http://www.cnblogs.com/kex1n/archive/2011/10/19/2217266.html [错误原因] 该文件的代码页为英文,而我们系统中的代码页为中文. [ ...

  3. 【Visual Studio】Visual Studio对CLR异常的特殊支持

    Visual Studio 对异常进行了特殊的支持,它能够在进行了特殊设置后,使代码中的try catch块失效.也就是说,一个异常在正常情况下应该能够被某个特殊的try catch块捕获,但是Vis ...

  4. 【Visual Studio】VS常用调试技巧——笔记

    CSDN的文档: https://msdn.microsoft.com/en-us/library/aa295838(v=vs.60).aspx 情景一:[监视]变量时,当运行离开当前函数后,怎么看到 ...

  5. 【Visual Studio】Visual Studio 2010 "LNK1123: 转换到 COFF 期间失败: 文件无效或损坏" 的解决方法

    1.将 项目|项目属性|配置属性|连接器|清单文件|嵌入清单 “是”改为“否”. 2.找到 C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5 ...

  6. 【Visual Studio】让用VS2012/VS2013编写的程序在XP中顺利运行(转)

    原文转自 http://blog.csdn.net/asanscape/article/details/38752655 微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在 ...

  7. 【Visual Studio】Error: forget to add '#include "stdafx.h"' to your source (转)

    原文转自 http://www.cnblogs.com/qunews/articles/2200313.html [问题原因]在编译时使用了预编译头文件, [解决方法]Project-->Pro ...

  8. 【Visual Studio】Tab 转换为空格的设置

    在 Visual Studio 中写代码时,按 Tab 键,会自动进行缩进.有时希望实现按 Tab 键,出现多个空格的效 果.Visual Studio 提供了这样的功能,具体设置方法为:打开 “To ...

  9. 【Visual Studio】error: /ZI”和“/Gy-”命令行选项不兼容(转)

    原文转自 http://bbs.100home.net/view/4206.html [问题说明]vc6项目用vs2015打开时遇到的错误 [解决方法]项目属性->c/c++->常规-&g ...

随机推荐

  1. mina架构在JT/T808协议应用程序中的应用

    Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),M ...

  2. iOS调用WebService接口

    首先有几点说在前面 一般,在请求URL的后面带有WSDL字样的需要调用WebService URL样式例子:http://ip:port/navigable/webservice/loginSeric ...

  3. NOIP模拟赛 密室逃脱

    密室逃脱(maze.*) 即使czhou没有派出最强篮球阵容,机房篮球队还是暴虐了校篮球队.为了不打击校篮球队信心,czhou决定改变训练后的活动.近来,江大掌门的徒弟徒孙们纷纷事业有成,回到母校为机 ...

  4. java--String、StringBuilder、StringBuffer的解析和比较?

    一.String的解析 1.String的含义 ①String是不可以被继承的,String类是final类,String类是由char[]数组来存储字符串. ②String是不可变的字符序列,如果存 ...

  5. 浅谈 MySQL 中优化 SQL 语句查询常用的 30 种方法

    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索 ...

  6. Voyager下的Settings方法

    设置网站标题,logo,描述: 自定义setting字段,添加group为文章,key为title的字段: 添加成功: 前端页面写法: <img src="{{ Voyager::im ...

  7. LeetCode(200) Number of Islands

    题目 Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is su ...

  8. poj 1995 快速幂

    题意:给出A1,…,AH,B1,…,BH以及M,求(A1^B1+A2^B2+ … +AH^BH)mod M. 思路:快速幂 实例 3^11  11=2^0+2^1+2^3    => 3^1*3 ...

  9. private virtual in c++

    source from http://blog.csdn.net/steedhorse/article/details/333664 // Test.cpp #include <iostream ...

  10. HDU 5402 模拟 构造 Travelling Salesman Problem

    题意: 有一个n * m的数字矩阵,每个格子放着一个非负整数,从左上角走到右下角,每个格子最多走一次,问所经过的格子的最大权值之和是多少,并且输出一个路径. 分析: 如果n和m有一个是偶数的话,那么只 ...