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