“此项目与Visual Studio的当前版本不兼容”


98

我从Visual Studio 2010中收到以下消息。

“此项目与Visual Studio的当前版本不兼容”

导致此错误的一种情况已经在此处发布在Stackoverflow上,但是该问题已关闭。我认为这是一个相当普遍的问题。由于找到了“解决方案”,因此我将发布此问题,并将我的解决方案作为答案。


1
我只提到遇到此错误的情况。我已经下载了托管ESENT程序的源代码managedesent.codeplex.com。其中包含具有9个项目的Visual Studio 2010解决方案。一些项目针对.Net 2.0,一些项目针对.Net 3.5,四个项目针对.Net 4.5。打开解决方案不会导致任何错误消息,但是以.Net 4.5为目标的项目在解决方案资源管理器中显示为“(不兼容)”。如果尝试使用Visual Studio 2010直接打开这些项目之一,则会收到上面显示的错误消息。
RenniePet 2012年


1
@JamesLawruk:是的,可能是重复的。但是当时我发布了这个问题并回答了另一个问题。后来再次打开它,也许是因为我将其标记为错误关闭,现在不记得了。
RenniePet

Answers:


67

如果消息

该项目与当前版本的Visual Studio不兼容

是由于尝试打开以.Net 4.5为目标的项目,因此“解决方案”或解决方法是编辑.csproj文件,并将TargetFrameworkVersion从“ v4.5”更改为“ v4.0”。这至少允许加载项目,尽管如果程序依赖于4.5功能,则可能会导致编译器错误。


1
我有同样的问题,但我似乎找不到TargetFrameworkVersion或v4.5的任何引用。不在.csproj文件中,也不在.sln文件中。
eran otzap,2015年

@eranotzap:不,对不起。我猜您正在使用比2010年更新的Visual Studio版本,这是我遇到此问题的版本。
RenniePet 2015年

是的,我使用VS 2012和试图加载写在VS 2013的一个项目,而且似乎没有被这样做,对于一些理性的方式..
埃兰otzap

-1。我有一个专为4.0编写的项目,而目标框架始终都是4.0。它奏效了,然后我尝试安装适用于VS 2015的OneClick发布工具,那时我得到了OP的错误。因此,关于.csproj中的版本切换的这一部分是伪造的,恕我直言,即使它有助于OP。它不会对所有人都有帮助-因此,我相信,此主题上其他答案的数量。
vapcguy

14

VS 2012根据您在安装时安装的内容以及所使用的版本,提供不同的项目类型支持。某些选项可用,例如Web开发工具,数据库开发工具等。因此,如果您尝试打开W​​eb项目,但未安装Web开发工具,则会出现此消息。

如果您在另一台计算机上创建项目并尝试在新计算机上打开它,则可能会发生这种情况。在我意外卸载Web工具后,我发现尝试打开MVC项目。


由于我的Web应用程序无法加载,因此我没有安装VS的Web开发组件。
h-rai 2015年

8

安装Visual Studio 2015 Update 3之后,我在几个项目中都得到了相同的错误消息。对我来说,解决方案是安装.NET Core。


在执行Update 3之后,我得到了相同的错误,但是.NET Core安装没有解决它。我只是想知道您是否还安装了Xamarin组件,因为这是我怀疑的问题。
smoore4,2016年

不,我没有安装Xamarin组件。
Gordon Glas

谢谢。像这里的其他一些人一样,当我添加Xamarin工具时,我没有选择Microsoft Web Developer Tools的选项,或者无意中未选中它。我修改了VS 2015并添加了该错误,现在错误消失了。
smoore4 '16

我认为情况有所不同,因为在安装Update 3之前,我需要.NET Core来解决Visual Studio 2015合并工具的问题。因此,在安装Update 3之后,我还需要更新到最新的.NET Core才能正常工作。
Gordon Glas

对于VS 2015,这现在似乎是可行的解决方案。至少它解决了我的问题。
waka

5

对于我来说,我意识到解决方案中还有另一个Web项目,我的VS2017可以很好地加载,因此我将其ProjectTypeGuids元素复制到了未加载的项目中。它的区别是:

-    <ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
+    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

此后,将加载。不要问我为什么。


4

就我而言,这是一个不兼容的项目类型。编辑项目文件并删除ProjectTypeGuids节点解决了加载项目的问题(我已经按照此处的建议重新定位了框架版本)。

VS(最可能的新版本)可能不支持项目类型,因此您必须调整(更新)代码以使其正常工作(如果可能),但至少您可以通过VS看到内容。




0

对我来说,我在VS 2015中遇到了相同的错误,并且刚刚安装了VS 2015更新1,尽管从另一个答案来看,VS现在实际上是更新3,(此后,他们得到了错误,必须安装.NET Core) 。遇到某些软件包(例如Windows SDK软件包)时出现了问题,不得不将安装程序指向我原始CD上的路径,对于某些软件包,即使这样也不起作用,不得不跳过它们并从一个CD重新下载。连接到互联网的计算机,将其转移,然后稍后手动运行(计算机未连接到互联网以下载软件包的更新版本),但是在完成所有操作并重新启动后,错误消失了,我项目加载正常。


有人对此表示反对-愿意解释吗?答案是对我为使我的软件工作所做的描述-是执行Update 1并跳过并重新下载安装过程中抱怨的软件包,或者执行Update 3和.NET Core。因为我没有去Update 3 / .NET Core,所以它不会使这个答案错误。我只是不想安装另一对巨大的更新。我在其上开发的计算机未连接互联网-它已连接到另一台计算机,传输限制为5 MB。对于其他处境与我相似的人,这是最可行的选择。
vapcguy

0

我遇到了这个问题,经过数小时的卸载和重新安装,我在实例中发现了问题。

我之所以得到这个,是因为我没有正确的扩展名

在我的情况下,ASP.net项目(我的启动)是不兼容的项目,这是因为我没有以下内容:

  • Microsoft ASP.NET和Web工具
  • Micrsoft ASP.NET Web框架和工具

这是进入“ 工具”菜单下的扩展和更新的简单案例


0

安装Visual Studio 2015更新3后,打开Cordova项目(.jsproj Javascript项目文件)时,突然出现“此项目与Visual Studio当前版本不兼容”错误消息

要解决这个问题:

  • 转到程序和功能
  • 选择Microsoft Visual Studio 2015安装并单击更改
  • 点击修改
  • 安装“跨平台移动开发”部分的“ HTML / Javascript(Apache Cordova)Update 10”

0

我遇到此错误,发现这是由于.csproj.user文件中存在“导入” XML标签所致。一旦删除它,Visual Studio可以再次打开该项目。


0

大多数人忘记了Visual Studio的文件只是文本文件,它们具有一些特殊的配置,这些配置将向程序显示如何打开它。也就是说,我们可以更改此设置,因为它只是项目文件夹中某个文件中的文本。

好了,知道了这一点,我们要做的很简单!

第一步是知道要卸载的项目是什么样的项目。(例如:类库)

第二步是创建一个新的类库(类库),因为您知道Visual Studio将创建自己支持的版本。卸载此文件,然后单击“编辑csproj”。

在此文件中,我们可以找到告诉VS的配置,该项目的加载方式为VS,项目名为ProjectGuid,该序列号根据项目的类型和版本而有所不同。

现在,查看您的“确定的项目”,复制“ ProjectGuid”标签,粘贴到已卸载的csproj上,并注意其中的微小差异,使该文件几乎相等,除了代表项目引用的标签ItemGroup以外。

这样做,保存所有文件并关闭VS,然后再次打开,现在您的项目应该可以正常加载了。

我希望这些信息可以帮助人们更多地了解VS的工作原理,并在必要时帮助解决问题。



0

如果您是来这里寻找“ .smproj”文件的问题的,那是因为您缺少SQL Server Analysis Services(SSAS)。为了解决这个问题,请在系统中安装SQL Server数据工具(SSDT),重新启动Visual Studio,它将可以使用。

谢谢。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.