ASP.NET MVC Futures 2 и MVCContrib 2 в одном веб-приложении / проекте

Я ссылался как на 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 ответа

Решение

Используйте полное имя, которое хотите использовать, например Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction() так что компилятор знает, какой из них вы хотите вызвать.

Чтобы завершить ответ Lucero,
Если вам кажется большим недостатком использование полностью определенного имени (не очень элегантного), вы можете установить более короткий псевдоним для пространства имен:

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

Затем вы можете написать это Future.RedirectToAction() или просто

RedirectToAction();

если вы хотите использовать один из MvcContrib.

Конечно, вы можете просто изменить это, если хотите использовать в основном фьючерсную сборку или альтернативу использовать Contrib.

Надеюсь это поможет:)

Другие вопросы по тегам