ASP.NET MVC Futures 2和MVCContrib 2在同一个Web应用程序/项目中

时间:2010-04-08 21:27:11

标签: asp.net-mvc asp.net-mvc-2 mvccontrib asp.net-mvc-futures

我已经引用了Microsoft.Web.Mvc.dll(MVC Futures 2)和MVCContrib.dll(来自MVC Contrib 2),这两个来自Codeplex的当前版本,我遇到了强类型RedirecToAction<>()的问题控制器的功能。

在我引用Futures 2之前一切正常。

这是编译时错误。显然,这个功能在两个程序集中都实现了。我该如何解决?

错误1以下方法或属性之间的调用不明确:'Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction(System.Web.Mvc.Controller,System.Linq.Expressions.Expression>) '和'MvcContrib.ControllerExtensions.RedirectToAction(System.Web.Mvc.Controller,System.Linq.Expressions.Expression>)'

2 个答案:

答案 0 :(得分:4)

完成Lucero的回答,
如果您使用完全限定名称(不是很优雅)似乎是一个很大的缺点,您可以为命名空间设置一个较短的别名:

using MvcContrib;
using Future = Microsoft.Web.Mvc.ControllerExtensions; 

然后你可以把它写成Future.RedirectToAction() 或者只是

RedirectToAction();

如果你想使用MvcContrib中的那个。

当然,如果你想主要使用期货装配或使用Contrib的替代方案,你可以撤销这个。

希望这会有所帮助:)

答案 1 :(得分:1)

使用您要使用的完全限定名称,例如Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction()以便编译器知道您要调用哪一个。