0

Orchard モジュールにラップしようとしている既存のソリューション (複数のプロジェクト、1 つの MVC Web プロジェクト) があります。

すべてのドキュメントには、Web csproj はモジュール ディレクトリ (例: Modules/MyModule/MyWeb.csproj) の下のルートにある必要があると記載されています。

ただし、sln ファイルが最上位にあり、各 csproj ファイル (およびプロジェクト コンテンツ) が独自のディレクトリ (Visual Studio でマルチプロジェクト アプリをビルドするときの標準的なソリューション構造) にある既存のソリューション構造があります。

Orchard Module csproj が MyModule/MyWeb/MyWeb.csproj の下にあることを Module.txt ファイルに伝える方法はありますか? ソリューション全体を再構築しないことをお勧めします。

ありがとうございました。

4

1 に答える 1

0

注:明確にするために、これは ~/Modules/MyModule/MyWeb.csproj ではなく ~/Modules/MyModule/MyModule.csproj です。モジュールのフォルダー名は、プロジェクトのファイル名 (.csproj の前) と一致する必要があります。これは、~/Module/{ModuleId}/{ModuleId}.csproj を必要とする Dynamic Extension Loader によって強制されます。(テーマにも同様のアプローチが必要です。)

これを行う唯一の可能な方法は、カスタム ローダーを含む上記に続くカスタム モジュールを作成することです。モジュール内で、IExtensionLoader の独自の実装を作成し、それを Autofac に登録します。ただし、うまくいくかどうかはわかりません。私は試したことがない。

おそらく、ソリューションの再編成が容易になるでしょう。

于 2013-06-27T00:33:32.160 に答える