升级到MVC 4.0后Microsoft.Web.Mvc出错

isx*_*pjm 2 asp.net-mvc asp.net-mvc-4

我已将MVC站点升级到MVC版本4.0,.NET Framewrok版本4.5.执行此操作后,我从我的视图中收到运行时错误:

方法Microsoft.Web.Mvc.LinkExtensions.ActionLink:类型参数'ContactCentre.Controllers.LogOnController'违反了类型参数'TController'的约束.

以下是抛出异常的代码:

Url.Action<LogOnController>(c => c.LogOff())
Run Code Online (Sandbox Code Playgroud)

Constraint TController检查类型是Controller类型.我的控制器LogOnController继承自Controller,因此符合约束.

我认为问题在于我的库Microsoft.Web.Mvc版本.这是运行时版本v4.0.30319,版本3.0.0.0.我认为这意味着它的目标是MVC版本3.

是否有MVC版本4兼容的Microsoft.Web.Mvc版本?还是我在错误的树上吠叫?欢迎任何帮助.

Dan*_*olm 5

由Microsoft发布的Mvc4Futures NuGet软件包自2012年11月30日起可用.它包含Microsoft.Web.Mvc.dll版本4.0.0.0.

您可以按如下方式安装它:

  • 打开包管理器控制台
  • 从"默认项目"菜单中选择您的Web应用程序
  • 运行以下命令: install-package mvc4futures