Как указать физический корневой путь для папки Areas? - PullRequest
0 голосов
/ 13 марта 2019

Я пишу своего рода систему плагинов в ASP.NET Core 2.2.Это работает хорошо, но физический путь к папке Области не указывается, как я ожидал.Интересно, знает ли кто-нибудь, как указать физический путь к папке для корневой области.

Структура папок похожа на приведенную ниже.TestArea в этом дереве - это отдельный проект для области плагина.Проект TestArea устанавливает для флагов RazorCompileOnBuild и RazorCompileOnPublish значение false, поскольку имя области можно динамически изменять для поддержки архитектуры подключаемых модулей.Проект TestArea имеет файл cshtml (* 1).

Чтобы протестировать приложение из отладчика, необходимо скопировать файлы Area в корень основного проекта приложения (* 2).Это не удобно, но достаточно справедливо.

\NoPrecompileView
    \Areas
        \TestArea
            \Views
                \Test
                    TestPage.cshtml (*2)
    \bin
        \Release
            \netcoreapp2.2
                \publish (*4)
                    \Areas
                        \TestArea
                            \Views
                                \Test
                                    TestPage.cshtml (*3)
    \Controllers
    \Models
    \Views
    \wwwroot
\TestArea
    \Areas
        \TestArea
            \Views
                \Test
                    TestPage.cshtml (*1)
    \Controllers

Когда я публикую проект в локальной папке, я получаю копию папки Areas (* 3) в папке публикации (* 4).Поэтому ожидается обращение к представлению (* 3) во время выполнения.Однако когда я запускаю 'dotnet NoPrecompileView.DLL' в папке публикации (* 4), приложение неожиданно все еще ссылается на файл в главной папке проекта (* 2).

Технически я могу развернуть приложение, сохраняяэта структура папок, однако я предпочитаю указывать физическую корневую папку для областей.

Мой тестовый проект можно найти здесь.

https://github.com/hayashida-katsutoshi/NoPrecompileView/tree/master/NoPrecompileView

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...