【发布时间】:2019-06-29 13:51:57
【问题描述】:
我有绑定到 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"。下面的截图,但它不工作:
【问题讨论】:
-
那么你需要有充分的理由不升级,因为这样的遗留产品确实有升级路径。在虚拟化如此普遍的世界里,我也认为没有理由“安装在同一台机器上”。
-
由于“定期升级软件”对您的组织来说似乎不是一个高优先级的事情,我强烈建议使用 Azure DevOps 进行源代码控制而不是站着建立您自己的本地 TFS 实例。
-
在 Visual Studio 中,相信有一个选项可以指定源代码控制提供程序。 TFS 的安装可能导致它在您的 VS2003 副本中交换。
-
@Matt 是的,但是这样做时会出现一个仅添加 tfs 服务器的窗口。那里有一个字段来放置服务器名称和端口。如果我将 visual sourcesafe 数据库名称(visual sourcesafe 数据库位置)作为 \\myserver\my\path\to\the\sourcesafe\database 它不起作用,它说无效的 url。如果从“更改源代码控制”也会发生同样的情况”窗口(上图最后一张),我尝试通过“服务器绑定”字段栏绑定服务器。
-
@Matt ...由于某种原因,尝试绑定服务器时,现在只能使用 tfs 服务器。无法绑定到可视源安全服务器位置。似乎 Visual Studio 2003 只检测到 tfs 提供程序,而不是 sourcesafe 提供程序...
标签: tfs visual-studio-2017 visual-sourcesafe visual-studio-2003