新しいMVC 4プロジェクトを作成し、MVC 3プロジェクトから一部の領域にコピーしました。私はすべての私のweb.configsとarearegistration.csをダブルチェックしました。私の設定はすべて、正しいバージョンのrazorとMVCを指していて、routes.MapRouteシグネチャには正しい名前空間パラメータが含まれています。私はIISプールが複数のMVCアプリケーションをホストしていないことを確認しました。私が知っているすべてをチェックしてASP.Net MVC 4 - 「Home」というコントローラに一致する複数のタイプが見つかりました。
context.MapRoute(
"Terminator_default",
"Terminator/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "MVCProject.Web.Areas.Terminator.Controllers" }
);
私のGlobal.asaxファイル...
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new string[] { "MVCProject.Web.Controllers" }
);
私の地域の登録ファイル...
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "MVCProject.Web.Areas.Admin.Controllers" }
);
と...この を修正するためにチェックするには、正しいdllの領域もロードしてください...
カスタム依存関係/コントローラリゾルバを使用していますか?カスタムリゾルバ(Windsor用)を実装してAreaを使用する場合は、特別な注意が必要です。また、この質問を参照してください:http://stackoverflow.com/questions/5092589/having-issue-with-multiple-controllers-of-the-nameame-in-my-project –
はい私はStructureMap – JBeckton
の可能な複製を使用しています[複数の種類が 'Home'というコントローラに一致するものが見つかりました](http://stackoverflow.com/questions/7842293/multiple-types-were-found-that-match-the-controller-named-home) – bummi