Visual Studio 2015默认为P4VS,即使解决方案由git控制

Visual Studio 2015默认为P4VS,即使解决方案由git控制,git,visual-studio,perforce,Git,Visual Studio,Perforce,大约两年前,我们公司从Perforce转到Git。从那以后,我一直在Visual Studio 2015中使用Git插件,没有出现任何问题。就在上个月左右,当我在任何项目上启动VisualStudio时,我收到了一条消息 活动解决方案或项目由不同于您选择的源代码管理插件控制。如果更改源代码管理插件,则活动的解决方案或项目将关闭 如果我说是,我的解决方案就结束了。如果我再看一下工具/选项/源代码管理,插件被设置为P4VS 如果我说不,我的解决方案是开放的,源代码控件是Git 我尝试过从头开始创建一

大约两年前,我们公司从Perforce转到Git。从那以后,我一直在Visual Studio 2015中使用Git插件,没有出现任何问题。就在上个月左右,当我在任何项目上启动VisualStudio时,我收到了一条消息

活动解决方案或项目由不同于您选择的源代码管理插件控制。如果更改源代码管理插件,则活动的解决方案或项目将关闭

如果我说是,我的解决方案就结束了。如果我再看一下工具/选项/源代码管理,插件被设置为P4VS

如果我说不,我的解决方案是开放的,源代码控件是Git

我尝试过从头开始创建一个VisualStudio项目,由Git控制,我得到了相同的结果。这是一个简单的空项目。我已经检查了.sln和.csproj文件,其中都没有源代码控制键

如果我只是在没有项目的情况下打开VisualStudio,我的源代码管理插件将设置为Git


似乎VisualStudio已经决定我的项目都由Perforce控制,并考虑将Git作为一种改变,但我不知道它是如何决定这一点的。显然,我可以单击“否”继续,但如果可以的话,我想解决这个问题。

这看起来类似于一个问题描述(AnkhSVN和VisualSVN是Visual Studio的插件,它们添加了对SVN的支持,但对于其他源代码管理插件也应该如此)。如果是这样,您可以尝试以下方法:

  • 从解决方案中删除解决方案用户选项(.suo)文件,然后重新启动Visual Studio
  • 用文本编辑器打开VS项目文件,删除以下行;重新启动Visual Studio并重新打开解决方案:
XXXX
XXXX
XXXX
XXXX

由于我们不再使用perforce,我最终进入了工具->扩展并禁用了p4v(perforce)。这似乎解决了问题

作为一个附带的好处,我也遇到了一些问题,我试图从VS中的项目中删除一个文件,但没有收到错误消息,但该文件不会被删除。当我禁用P4V时,这个问题似乎也消失了


注意:问题不是由于.suo文件或.proj文件中的任何内容造成的,我通过删除.suo并创建一个新的空项目并检查.proj来确定这一点。

在文本编辑器中打开项目文件并删除任何性能引用(
SccProvider
SccProvider0
等等).@CodeCaster谢谢,但我的csproj或sln文件中没有scc密钥或perforce/p4行。@DaveG备份解决方案用户选项(.suo)文件,并将其从VS解决方案中删除。这有帮助吗?当打开非性能控制解决方案时,我收到了同样的恼人信息。我目前正在使用AnkhSVN和P4VS对不同的项目进行源代码控制。我可能会卸载P4V,并建议我的公司不要迁移到它,只是因为这个麻烦。不幸的是,这个问题与特定的解决方案无关。我已尝试创建一个新的解决方案,删除suo文件,并确保项目文件根本不包含任何Scc条目,但我仍然存在相同的问题。@DaveG您是否尝试过修复此VS2015安装(这可能需要一些时间才能完成)?启动appwiz.cpl,在列表中找到您的VS2015,右键单击它并选择更改(或修复)。
<SccProjectName>XXXX</SccProjectName>
<SccLocalPath>XXXX</SccLocalPath>
<SccAuxPath>XXXX</SccAuxPath>
<SccProvider>XXXX</SccProvider>