首页 > 代码库 > System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。

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”的控制器匹配的类型。