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