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

Posted

技术标签:

【中文标题】为啥 Visual Studio 2005 更喜欢“无”而不是 perforce 作为源代码控制提供程序【英文标题】:Why does Visual studio 2005 prefer "none" instead of perforce as source control provider为什么 Visual Studio 2005 更喜欢“无”而不是 perforce 作为源代码控制提供程序 【发布时间】:2009-09-29 10:31:00 【问题描述】:

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

嗨,

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

我的问题是每次我打开解决方案 sourcesafe 都会劫持绑定并向我显示很多关于无法找到 sourcesafe 数据库的错误。 这个问题很容易纠正:

    解除解决方案和所有项目的绑定。 转到选项并将源代码控制提供程序从 sourcesafe 更改为 perforce。 重新绑定解决方案和所有项目。

但是!我不想每次打开解决方案时都这样做。

有谁知道这里发生了什么?我希望在不完全删除 sourcesafe 插件的情况下解决此问题。

更新:

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

看来这不是源安全问题,而是 Visual Studio 问题。有谁知道 Visual Studio 将其绑定存储在项目和解决方案级别的位置?我检查了 .scc 和 .vssscc 文件,发现没有提到 perforce。 (项目名称除外:“perforce project”)

问候,

英格夫

【问题讨论】:

【参考方案1】:

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

【讨论】:

我已经尝试过了,但它不起作用。当我打开解决方案时,它会切换到 sourcesafe。【参考方案2】:

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

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl\EngineNames] "0"="源安全" "1"="执行"

将顺序改为:

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\SourceControl\EngineNames] "0"="执行" "1"="源安全"

它将项目与 perforce 正确关联。你为什么问?我一点也不知道。 不过,这个“修复”是否会干扰到 sourcesafe 的任何绑定还有待观察。

【讨论】:

以上是关于为啥 Visual Studio 2005 更喜欢“无”而不是 perforce 作为源代码控制提供程序的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2005的窗体为啥是空白的?

为啥我的文档还会有Visual Studio 2005文件夹出现

为啥 Visual Studio 认为我需要构建项目?

为啥以“以管理员身份运行”运行 Visual Studio?

为啥在安装Visual Studio 2005之后,开机时"SVCHOST.EXE"进程占用CPU很高?且内存消耗将近100MB!?

Intellisense 更喜欢 Visual Studio 2017 中最旧的 TypeScript 版本