MVC 4 管理区域位于单独的项目中

本文关键字:于单独 项目 区域 管理 管理区 MVC | 更新日期: 2023-09-27 18:31:50

我正在构建一个 ASP.NET MVC 4应用程序,并希望将我的站点管理区域作为单独项目中的MVC区域。

我已将一个新的 MVC 4 Web 应用程序项目添加到我的解决方案中,并添加了以下文件来注册我的区域:

public class AdminAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get { return "Admin"; }
    }
    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller = "Home", action = "Index", area = "Admin", id = UrlParameter.Optional },
            new[] { "Future.Admin.Controllers" }
        );
    }
}

但是,这会导致以下错误:

A route named 'Admin_default' is already in the route collection. Route names must be unique.

我已将管理区域项目的生成输出路径更改为指向主站点项目。

我是否缺少或未配置某些内容?

任何帮助都非常感谢!

MVC 4 管理区域位于单独的项目中

如果此路由在代码库中仅声明一次,请清理并重新生成解决方案。如果您的 bin 文件夹中有"旧"dll(例如,如果您已重命名项目),并且注册了此路由,则可能会发生这种情况。