为什么Visual Studio 2005更喜欢“none”而不是perforce作为源代码控制提供程序

时间:2009-09-29 10:31:01

标签: visual-studio-2005 visual-sourcesafe perforce

(以前:帮助!Sourcesafe在Visual Studio 2005中劫持Perforce绑定)

您好,

我目前在使用visual studio解决方案时遇到了问题。我们通过visual studio中的绑定机制将perforce用作我们的源代码控制提供程序。

我的问题是每次打开解决方案时,sourcesafe都会劫持绑定并向我显示很多关于无法找到sourcesafe数据库的错误。 通过以下方式可以轻松纠正此问题:

  1. 解除解决方案和所有项目的绑定。
  2. 转到选项并将source control provider从sourcesafe更改为perforce。
  3. 重新绑定解决方案和所有项目。
  4. 但是!每次打开解决方案时我都不想这样做。

    有谁知道这里发生了什么?我最好在不删除sourcesafe插件的情况下修复此问题。

    更新

    我删除了一些注册表项,以防止VS发现sourcesafe插件。这是有效的,因为在选项中的提供程序列表中不再能找到sourcesafe。有趣的是它仍然不会使用perforce。当我打开解决方案时,我仍然会收到错误,并且在选项对话框中将提供程序设置为“none”。

    这似乎不是源安全问题,而是视觉工作室问题。有谁知道visual studio在项目和解决方案级别存储绑定的位置?我检查了.scc和.vssscc文件,发现没有提到perforce。 (项目名称除外:“perforce project”)

    的问候,

    • Yngve

2 个答案:

答案 0 :(得分:1)

Visual Studio一次只支持1个源控件,因此您需要在打开解决方案之前通过选项切换提供程序。 (打开VS,切换提供商,开放解决方案)。

答案 1 :(得分:0)

经过大量的挖掘,在注册表中也是如此。我在以下密钥下找到了一些源控制提供程序列表:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl\EngineNames]
"0"="Sourcesafe"
"1"="Perforce"

将订单更改为:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl\EngineNames]
"0"="Perforce"
"1"="Sourcesafe"

它正确地将项目与perforce相关联。你为什么问?我什么都不知道。 这个“修复”是否会与源安全的任何绑定混乱仍有待观察。