Routing 添加模块的Orchard问题

Routing 添加模块的Orchard问题,routing,orchardcms,Routing,Orchardcms,我和乌节还有一个问题。 我创建了一个新模块——HelloWorld(如Orchard网站教程中所示) 我所做的一件不同的事情是,我将我的项目移到果园之外,并在添加此模块项目的地方创建新的解决方案。我设置了post build,以便通过robocopy将我的项目复制到Orchard.Web\Modules: robocopy "$(ProjectDir)..\$(ProjectName)" "$(ProjectDir)..\..\Orchard\src\Orchard.Web\Modules\

我和乌节还有一个问题。 我创建了一个新模块——HelloWorld(如Orchard网站教程中所示) 我所做的一件不同的事情是,我将我的项目移到果园之外,并在添加此模块项目的地方创建新的解决方案。我设置了post build,以便通过robocopy将我的项目复制到Orchard.Web\Modules:

  robocopy "$(ProjectDir)..\$(ProjectName)" "$(ProjectDir)..\..\Orchard\src\Orchard.Web\Modules\HelloWorld" /XO /NJH /E

  if errorlevel 4 goto Fail
  if errorlevel 0 goto End

  :Fail
  echo FILECOPY for $(ProjectName) FAILED
  exit 1
  :End
  echo FILECOPY for $(ProjectName) COMPLETED OK
  exit 0
在我的模块被复制后,我尝试使用我的模块访问页面,并得到404响应

在Routes.cs我有

public IEnumerable<RouteDescriptor> GetRoutes()
    {
        return new[]
            {
                new RouteDescriptor
                    {
                        Priority = 20,
                        Route =
                            new Route(
                            "HelloWorld",
                            new RouteValueDictionary
                                {
                                    { "area", "HelloWorld" }, { "controller", "Home" }, { "action", "Index" } 
                                },
                            new RouteValueDictionary(),
                            new RouteValueDictionary { { "area", "HelloWorld" } },
                            new MvcRouteHandler())
                    }
            };
    }
public IEnumerable GetRoutes()
{
返回新的[]
{
新路由描述符
{
优先级=20,
路线=
新路线(
“HelloWorld”,
新RouteValueDictionary
{
{“区域”、“HelloWorld”}、{“控制器”、“主页”}、{“操作”、“索引”}
},
新建RouteValueDictionary(),
新的RouteValueDictionary{{“area”,“HelloWorld”},
新的MvcRouteHandler())
}
};
}
在Orchard.Web\Modules\HelloWorld中打开Routes.cs并进行任何更改(例如:添加空间或更改注释)和保存Routes.cs后,我的模块开始工作。
有人知道为什么我的模块在复制到模块文件夹后不能工作吗?

动态编译。为什么要把模块移出网站,让一切变得更复杂呢?是的,我知道,但我认为在我复制项目并进行更新后,Orchard会被动态编译。我将我的项目转移到Orchard解决方案之外,因为我专注于开发我的模块,而对于我来说,vs处理一个项目的速度比处理Orchard的60%要快。这不需要将其取出。直接打开该项目,或者创建一个单独的解决方案。真的,没有很好的理由这么做。同意伯特朗的观点。C+P的果园SLN,并删除项目,你不想在那里,这将使一切变得容易一百万倍。