使用Area作为单独的项目无法找到资源

时间:2017-06-29 08:06:35

标签: asp.net-mvc-4 asp.net-mvc-routing asp.net-mvc-areas

我想将区域用作单独的项目。每当我尝试导航到此链接时:                  http://localhost:100/module/home

我收到以下错误: enter image description here

我的解决方案包含两个项目:entity_framework和module

我的解决方案如下:enter image description here

模块是我想用作区域的项目。我的主要项目: enter image description here

entity_framework中的我的Route.config看起来:

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 = "User", action = "Index", id = UrlParameter.Optional },
             namespaces:new string[] {"entity_framework.Controllers"}
         );
     }
 }

我的moduleAreaRegistration.cs:

   namespace entity_framework
   {
       public class moduleAreaRegistration : AreaRegistration 
       {
           public override string AreaName 
           {
               get 
               {
                   return "module";
               }
           }

           public override void RegisterArea(AreaRegistrationContext context) 
           {
               context.MapRoute(
                   "module_default",
                   "module/{controller}/{action}/{id}",
                   new { action = "Index", id = UrlParameter.Optional },
                   new string[] {"entity_framework.Controllers"}
               );
           }
       }
   }

我在家庭控制器的两个项目和索引视图中都添加了索引操作,但我遇到了这个错误。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我将命名空间更改为

new string[] { "module.Controllers" }                 
moduleAreaRegistration.cs

然后我在主项目中的web.config中添加了这个:

<appSettings>
    <add key="owin:AutomaticAppStartup" value="false" />
</appSettings>

这对我来说很好。