Multiple types were found that match the controller named 'Account'. MVC 4 & using RouteConfig.CS

夙愿已清 提交于 2021-02-08 15:21:17

问题


I currently have 2 projects in same folder. Main

  • Project1
  • Project2

Problem:

Multiple types were found that match the controller named Account. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the MapRoute method that takes a namespaces parameter.

The request for Account has found the following matching controllers:

Project1.Controllers.AccountController

Project2.Controllers.AccountController

I using Foundation 4. Thanks advance


回答1:


you need to use the version with this signature

public static Route MapRoute(
       this RouteCollection routes,
       string name,
       string url,
       Object defaults,
   string[] namespaces )

To make it work just set up two almost identical routes - one which includes the project1 for the namespaces parameter and then a second identical version but use project2 in the namespaces parameter. That said, it would generally be less confusing, to use different names if you can...

routes.MapRoute(
    name: "Default_Project1",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional,
    namespaces: new string[] { "Project1" } }
);

routes.MapRoute(
    name: "Default_Project2",
    url: "{controller}/{action}/{id}",
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional,
    namespaces: new string[] { "Project2" }
);



回答2:


I had the same problem when I copied an MVC project and renamed all the namespaces.

I tried the above solution but it did not work.

Visual Studio was still looking at the old namespace dll's even after I cleaned and rebuilt my project.

So the solution:

  • Right-click solution, click 'Clean Solution'
  • Manually delete everything in the /bin and /obj folders
  • Build your solution


来源:https://stackoverflow.com/questions/18951523/multiple-types-were-found-that-match-the-controller-named-account-mvc-4-usi

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!