ASP.NET MVC 4打破了ASP.NET MVC 3项目

时间:2012-01-30 08:57:59

标签: visual-studio-2010 asp.net-mvc-3 asp.net-mvc-4

安装ASP.NET MVC 4 Developer Preview后,我无法再打开MVC 3项目,并显示以下错误消息:

The project type is not supported by this installation.
我的MVC 3 .csproj文件中的

<ProjectTypeGuids>看起来是正确的:

<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

这是MVC 4开发人员预览中的错误,还是Visual Studio 2010安装中缺少的?我该如何解决?我应该回滚我的MVC 4安装吗?

我已经尝试运行devenv /ResetSkipPkgs并安装了MVC 3工具更新,但无济于事。

4 个答案:

答案 0 :(得分:15)

“”如果您想将项目更新为MVC4,并在visual studio中打开它们,那么“”

解决方案是从

更改projectType guids
{E53F8FEA-EAE0-44A6-8774-FFD645390401}

{E3E379DF-F4C6-4180-9B81-6769533ABE47}
安装mvc4 visual studio软件包后,在csproj文件中

答案 1 :(得分:3)

ASP.NET MVC 4 Developer Preview与以前版本的ASP.NET MVC并行运行,但是有一些已知的问题需要注意。最大的一个:

  

安装ASP.NET MVC 4 Developer Preview会破坏ASP.NET MVC 3 RTM   应用。用MVM创建的ASP.NET MVC 3应用程序   RTM版本(不适用于ASP.NET MVC 3工具更新版本)需要   以下更改,以便与ASP.NET MVC 4并行工作   开发者预览。构建项目而不进行这些更新   导致编译错误。

您将找到解决方案here

答案 2 :(得分:0)

我正在寻找一个不同的问题并偶然发现了这个问题,它与我回答的一些问题类似,并认为我会将它们发布在这里:

ModelClientValidationRule conflict

Build Errors - 'System.Web.Mvc.ModelClientValidationRule' Conflicts

答案 3 :(得分:0)

检查引用中对System.Web.Mvc.dll文件的引用。确保它指向C:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 3 \ Assemblies \ System.Web.Mvc.dll

如果它指向ASP.NET MVC 4目录下的那个,那么在记事本中打开你的项目文件。寻找

<Reference Include="System.Web.Mvc">
  <Private>False</Private>
</Reference>

这应该改为

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35, processorArchitecture=MSIL" />