System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。

Posted 叶丶梓轩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。相关的知识,希望对你有一定的参考价值。

一,当项目中存在多个网站报错,而不是新增Area出现这个错误时。应该在RouteConfig这样改:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace Houtai.Web.Mobile
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

二,若是添加Area,造成的错误,则

 public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

           routes.MapRoute(  
                "Default", // 路由名称  
                "{controller}/{action}/{id}", // 带有参数的 URL  
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值  
                ,  new string[] { "Houtai.Web.Mobile.Controllers" }
            ); 
              
        }
    }

 

以上是关于System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。的主要内容,如果未能解决你的问题,请参考以下文章

视图中出现 InvalidOperationException.Collection 被修改错误