我有绑定到Visual SourceSafe的旧项目,并由Visual Studio 2003完成。现在,我最近在同一台计算机上安装了Visual Studio 2017和TFS。
现在,当我尝试打开绑定到Visual SourceSafe的旧项目时,出现了一系列错误。截图下方(出于保密原因加像素)。
当使用旧版Visual Studio 2003打开旧版项目(绑定到Visual SourceSafe)时,它试图连接到TFS服务器(显然不能)。自从我在同一台计算机上安装了新的Visual Studio 2017和TFS以来,这种情况正在发生,似乎它们无法在同一台计算机上一起生活。那么如何将VSS和TFS都安装在同一台计算机上?有可能吗?
已更新: 似乎VS2003不允许切换SCC提供程序。唯一的方法是破解注册表进行切换。
我发现了一些有趣的东西,它们解释了如何做到这一点,并且似乎可以正常工作,问题是某些链接已断开,它们太旧并且不再可用。
Source safe with Team Foundation Server in VS.2003 Installed TFS Version Control Provider and Now my VS 2003 Projects lost connectivity to VSS 2005? MSSCCI Provider installation error
在上面的链接中,提供了一种解决方案,其中包括破解注册表,但是它们提供的链接已损坏:
更新2 : 正如爱德华·汤姆森(Edward Thomson)在其答案中所建议的那样,我创建了一个新密钥“ HKCU \ Software \ Microsoft \ VisualStudio \ 7.1 \ CurrentSourceControlProvider \”,并将其设置为字符串值:ProviderRegKey =“ SOFTWARE \ Microsoft \ SourceSafe”。下面的屏幕截图,但不起作用:
答案 0 :(得分:0)
MSSCCI是Microsoft源代码控制集成API,它是Visual Source Safe为诸如Visual Studio之类的IDE工具提供的原始API。早期的Visual Studio版本(如2003年)仅使用MSSCCI,并期望有版本控制提供程序来提供MSSCCI。因此,您只能让一个版本控制提供程序使用该协议。
Team Foundation Server客户端API提供MSSCCI(仅适用于Team Foundation版本控制,不适用于Git)。因此,如果要使用Visual Source Safe,则需要配置Visual Studio以与那个库集而不是TFS API集进行对话。
在Visual Studio的最新版本(如Visual Studio 2008)中,可以在“选项”>“源代码控制”>“插件选择”中即时选择MSSCCI提供程序。将枚举所有MSSCCI提供程序,您可以在Visual Source Safe和Team Foundation版本控制之间进行选择。
如果您使用的Visual Studio早期版本没有此选项,则可以通过直接更新注册表来更改MSSCCI提供程序。
找到注册表项:
HKCU\Software\Microsoft\VisualStudio\7.1\CurrentSourceControlProvider\
并设置:
ProviderRegKey="SOFTWARE\Microsoft\SourceSafe"
使用已安装的Visual Studio版本将密钥中的7.1
更新(Visual Studio 2003对应于7.1版)。
进行了此更改后,您将不能使用Visual Studio 2003中的Team Foundation Verson Control,而无需将其改回。