.net core 2.1 многократное использование _Layout в различных проектах - PullRequest
0 голосов
/ 09 ноября 2018

Я пытаюсь повторно использовать один и тот же файл _Layout.cshtml в нескольких проектах .net core 2.1 Razor Page. В настоящее время у меня есть библиотека классов страниц Razor ( Общий общий проект ), в которой будет расположен файл _Layout.cshtml. Наряду с файлом макета есть файлы CSS и JS, которые также должны быть доступны для всех других проектов (я смог сделать эту работу).

вторичные проекты будут иметь ссылки на Общий общий проект и должны иметь возможность использовать из него файл _Layout.cshtml.

Моя проблема в том, что в настоящее время он не загружает общий файл _layout, когда я получаю доступ к страницам из этих проектов, вместо этого он загружает свой собственный файл макета. Если я пытаюсь удалить этот файл, он выдает ошибку, что не может найти файл макета. Однако, если я загружаю страницу, содержащуюся в Common shared project , она загружает свой собственный _layout.

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

Включение статических ресурсов в библиотеки классов Razor в ASP.NET Core

Может ли Razor Class Library упаковывать статические файлы (js, css и т. Д.) Тоже

Повторное использование пользовательского интерфейса с библиотеками классов Razor (RCL) в ASP.NET Core

Пожалуйста, имейте в виду, что 2 из этих статей основаны на совместном использовании файлов css и js (которые работали), но я прочитал и другие примеры для макета и мне не повезло (в настоящее время я не могу есть ссылки на другие статьи)

Что касается того, что я кодировал, то в настоящее время я экспериментирую с примером проекта и таким же, как в первой статье ( Включение статических ресурсов в библиотеки классов Razor в ASP.NET Core ).

UPDATE

Используя 3-ю ссылку (Повторное использование пользовательского интерфейса с библиотеками классов Razor (RCL) в ASP.NET Core), я смог достичь своей цели. Тем не менее, я использовал эту же стратегию ранее, и она не работала. Я собираюсь попробовать поиграть с этим немного больше. Если у меня появятся другие обновления, я их опубликую.

1 Ответ

0 голосов
/ 09 ноября 2018

Очевидно, с тех пор, как я работал над Включением статических ресурсов в библиотеки классов Razor В ASP.NET Core пример оставил структуру библиотеки классов страниц бритвы по умолчанию, содержащую Area / MyFeatures папки. Я изменил это, чтобы работать как последняя ссылка Повторное использование пользовательского интерфейса с библиотеками классов Razor (RCL) В ASP.NET Core , где Общий общий проект структурирован так же, как проект веб-приложения is (нет Area или MyFeatures папка). Я также добавил:

@addTagHelper *,Microsoft.AspNetCore.Mvc.TagHelpers

до конца моего _ViewStart.cshtml, расположенного в Общем общем проекте .

Также, как примечание, вы должны удалить _layout.cshtml, _viewimports.cshtml и _viewstart.cshtml из веб-приложения, в противном случае он переопределит общий макет проекта.

Во всяком случае, похоже, это исправило проблему, и теперь она работает.

...