zoukankan      html  css  js  c++  java
  • 【Visual Studio】The project appears to be under source control, but the associated source control plug-in is not installed on this computer

    【问题描述】用 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的文件,则需要先调整为可修改。
    切勿使用打开文件,使用文本编辑器打开*.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

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

    3、修改各个子项目中的信息,这些信息在:*.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快乐的玩耍了。

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

    (1) 命令行:

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

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

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

  • 相关阅读:
    Tomcat配置JMX远程监控(Windown7 Linxu)
    Maven Tomcat:run 使用tomcat7
    关于C3P0容错和自动重连特性的研究
    密码算法记录
    Linxu 安装Nignx
    Linxu Yum方式安装Mysql
    Linxu
    tomcat结合nginx使用小结
    Tomcat性能优化(三) Executor配置
    深入学习C#匿名函数、委托、Lambda表达式、表达式树类型——Expression tree types
  • 原文地址:https://www.cnblogs.com/happykoukou/p/6697147.html
Copyright © 2011-2022 走看看