0

オーチャードには別の問題があります。新しいモジュール - HelloWorld を作成しました (オーチャード Web サイトのチュートリアルのように) 私が異なることの 1 つは、プロジェクトをオーチャードの外に移動し、このモジュール プロジェクトを追加した場所に新しいソリューションを作成することです。ビルド後、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())
                    }
            };
    }

Orchard.Web\Modules\HelloWorld で Routes.cs を開き、変更 (スペースの追加やコメントの変更など) を行って Routes.cs を保存すると、モジュールが動作し始めます。モジュールを Modules フォルダーにコピーした後、モジュールが機能しない理由を知っている人はいますか?

4

0 に答える 0