我正在构建一个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.
我已将管理区项目的构建输出路径更改为指向主站点项目。
是否有我遗失或未配置的内容?
非常感谢任何帮助!
答案 0 :(得分:5)
如果此路由仅在您的代码库中声明一次,请清理并重建您的解决方案。如果您在bin文件夹中有“旧”dll(例如,如果您已重命名项目),并且已注册此路由,则会发生这种情况。