2013-04-07 2 views
0

У меня есть существующее решение (несколько проектов, один веб-проект MVC), который я пытаюсь обернуть в модуль Orchard.Файл проекта пользовательского модуля Orchard CMS

Вся документация говорит о том, что веб-csproj должен находиться в корневом каталоге под моим модулем (например, модули/MyModule/MyWeb.csproj).

Однако у меня есть существующая структура решения, в которой sln-файл находится на верхнем уровне, и каждый файл csproj (и контент проекта) находится в своем собственном каталоге (стандартная структура решения при создании многопроектного приложения в Visual Номер-студио).

Есть ли способ, которым я могу сообщить моему файлу Module.txt, что модуль Orchard csproj находится в MyModule/MyWeb/MyWeb.csproj? Я бы предпочел не реструктурировать все решение.

спасибо.

ответ

0

Примечание: В качестве уточнения, это не ~/Модули/MyModule/MyWeb.csproj, но ~/Модули/MyModule/MyModule.csproj. Имя папки модуля должно совпадать с именем файла проекта (до .csproj). Это обеспечивается динамическим расширительным загрузчиком, для которого требуется ~/Module/{ModuleId}/{ModuleId} .csproj. (Подобный подход необходим для тем.)

Единственный возможный способ сделать это - написать собственный модуль, который следует выше, который содержит пользовательский загрузчик. В своем модуле создайте собственную реализацию IExtensionLoader и зарегистрируйте его с помощью Autofac. Однако я не знаю, будет ли это работать; Я никогда не пробовал.

Возможно, вам будет легче реорганизовать ваше решение.

Смежные вопросы