Как отображать страницы из вложенной папки в asp. net core 3.1 - PullRequest
0 голосов
/ 30 мая 2020

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

Структура папки: enter image description here

Я пытался использовать «UseContent Root», но не смог решить проблему

   CreateHostBuilder(args).UseContentRoot(Directory.GetCurrentDirectory() + "\\PersonalTab").Build().Run();

Исключение : InvalidOperationException: представление "Индекс" не найдено. Был произведен поиск в следующих местоположениях: /Views/Home/Index.cshtml /Views/Shared/Index.cshtml

Когда я пробую представления из-за пределов папки «PersonalTab», он работает нормально, но для моего требование, чтобы он находился внутри папки «PersonalTab»?

Примечание: я использую asp. net core 3.1

1 Ответ

1 голос
/ 30 мая 2020

Вы можете настроить RazorViewEngineOptions так, чтобы он также просматривал папку PersonalTab. Я попытался воссоздать проект и добавил это в метод ConfigureServices класса Startup, и у меня это сработало:

services.Configure<RazorViewEngineOptions>(o =>
        {
            o.ViewLocationFormats.Add("/PersonalTab/Views/{1}/{0}" + RazorViewEngine.ViewExtension);
            o.ViewLocationFormats.Add("/PersonalTab/Views/Shared/{0}" + RazorViewEngine.ViewExtension);
        });

Ссылка: Изменить расположение представлений и страниц Razor по умолчанию в ASP. NET Ядро

...