我有我创造过在VS11 beta版MVC4互联网项目模板的新MVC4应用。 现在,当我部署应用到我的网站托管服务提供商,和我离开以下行活跃在我的Global.asax类,我得到的MVC的错误尝试注册一个已经存在的路线。 当我注释掉这一行,一切都正常运行,但动作前往当地特定的控制器坏了,因为我要问问这个问题 。
AreaRegistration.RegisterAllAreas();
我有我创造过在VS11 beta版MVC4互联网项目模板的新MVC4应用。 现在,当我部署应用到我的网站托管服务提供商,和我离开以下行活跃在我的Global.asax类,我得到的MVC的错误尝试注册一个已经存在的路线。 当我注释掉这一行,一切都正常运行,但动作前往当地特定的控制器坏了,因为我要问问这个问题 。
AreaRegistration.RegisterAllAreas();
如果在您的部署bin目录中的旧的DLL(如果你在某些时候改名为您的项目或DLL),那么你会得到这个错误。
确保在部署bin目录得到清洗。
当你在使用相同的名称作为您的根网站控制器的区域控制器,这通常发生。 即 “WebsiteNamespace.Controllers.HomeController” 和 “WebsiteNamespace.Areas.MyArea.Controllers.HomeController”。
为了改善这种情况,你需要在你的基地网站声明航线命名空间:
routes.MapRoute("Default", "{controller}/{action}/{id}", new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}, new[] { "WebsiteNamespace.Controllers" });