4

ASP.NET MVC 4アプリケーションを構築していて、サイト管理領域を別のプロジェクト内のMVC領域として使用したいと考えています。

ソリューションに新しいMVC4Webアプリケーションプロジェクトを追加し、次のファイルを追加して自分の領域を登録しました。

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.

管理領域プロジェクトのビルド出力パスを変更して、メインサイトプロジェクトを指すようにしました。

足りないものや構成されていないものはありますか?

どんな助けでも大歓迎です!

4

1 に答える 1

5

このルートがコードベースで一度だけ宣言されている場合は、ソリューションをクリーンアップして再構築します。これは、binフォルダーに「古い」dllがあり(たとえば、プロジェクトの名前を変更した場合)、このルートが登録されている場合に発生する可能性があります。

于 2012-04-20T12:39:23.510 に答える