1

J'ai référencé à la fois Microsoft.Web.Mvc.dll (MVC Futures 2) et MVCContrib.dll (de MVC Contrib 2), les deux versions actuelles de Codeplex et moi avons un problème avec la fonction redirecToAction <>() du contrôleur.ASP.NET MVC Futures 2 et MVCContrib 2 dans la même application/projet Web

Il a bien fonctionné jusqu'à ce que je 2 .. Futures référencé

C'est l'erreur de compilation. Apparemment, cette fonction est implémentée dans les deux assemblages. Comment puis-je résoudre cela?

erreur 1 L'appel est ambiguë entre les méthodes ou les propriétés suivantes: 'Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction (System.Web.Mvc.Controller, System.Linq.Expressions.Expression>)' et ' MvcContrib.ControllerExtensions.RedirectToAction (System.Web.Mvc.Controller, System.Linq.Expressions.Expression>) »

Répondre

1

utilisez le nom complet que vous souhaitez utiliser, par exemple, Microsoft.Web.Mvc.ControllerExtensions.RedirectToAction() afin que le compilateur sache lequel vous voulez appeler.

4

Pour terminer Lucero réponse,
Si cela semble un gros inconvénient pour vous d'utiliser le nom complet (pas très élégant), vous pouvez définir un alias plus court à l'espace de noms:

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

vous pouvez puis l'écrire Future.RedirectToAction() ou tout simplement

RedirectToAction(); 

si vous voulez utiliser l'un de MvcContrib.

Bien sûr, vous pouvez simplement inverser cela si vous voulez utiliser principalement l'assemblage à terme ou l'alternative pour utiliser le Contrib.

Espérons que cela aide :)