现象:
项目之前使用TFS作为版本管理,后迁移至SVN,其他机器check out下来的项目会提示:
“Team Foundation Server 版本控制
您正在打开的解决方案已绑定到以下 Team Foundation Server 上的源代码管理:xxx。是否需要联系此服务器以尝试启动源代码管理集成?”
以及“源代码管理
解决方案看起来是受源代码管理,但无法找到它的绑定信息。由于无法自动恢复这些缺少的信息,缺少绑定的项目将被视为不受源代码管理。”
解决:
参考文章链接:心存善念-VS清除打开项目时的TFS版本控制提示 (非常感谢)
在项目中要永久清除TFS版本控制,需要操作三步(请确保操作之前没有在使用当前项目):
- 删除项目下的所有版本控制文件,这些文件有: *.vssscc , *vspscc
删除这些版本控制文件比较简单,搜索这些后缀的文件,删除即可;
- 修改项目的解决方案文件: *.sln
先要确认解决方案文件(*.sln)是可修改的,如果是Read-Only的文件,则需要先调整为可修改。
切勿使用Visual Studio打开文件,使用文本编辑器打开*.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,此段代码就必须删掉了,删除之后,保存文件即可。
- 修改各个子项目中的版本控制信息,这些信息在: *.csproj (C#项目,其他项目文件后缀不同)
<SccProjectName>???</SccProjectName> <SccLocalPath>???</SccLocalPath> <SccAuxPath>???</SccAuxPath> <SccProvider>???</SccProvider>
上面的 Scc*** 的配置即是版本控制信息。可以简单粗暴的将它删除即可,删除完成后,保存文件。
-
完成上面的操作之后,我们再次用VS打开项目,就不会再有任何TFS的相关信息提示了,又可以和VS快乐的玩耍了。