找到多个与名为“xxx”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配的控制器,则会发生这种情况。
一次在建MVC 项目的进行开发的时候,因为后来想到了一个更好的项目名称,就把 Web项目的名称重命名 改了,
然后 程序集名称,默认命名空间,都改成新的了,刚建立的项目本身也不大,运行起来,总是报
" 找到多个与名为“Login”的控制器匹配的类型。如果为此请求(“{controller}/{action}/{id}”)提供服务的路由没有指定命名空间以搜索与此请求相匹配的控制器,则会发生这种情况。...."
奇了怪了,最后发现,原来是 Global.asax 文件 搞的鬼,因为在VS里Global 始终 点击显示的是 cs代码文件,而看不到前置文件。。。
总结,改项目名称最容易让人忽略的而没被替换过来的文件:
1. Global.asax 文件
2. 所有Web.config 文件
项目根目录下 的Web.cofig
Views 目录下的Web.config
所有Areas的Web.config