Используйте одну страницу макета в нескольких основных проектах asp.net - PullRequest
0 голосов
/ 28 января 2019

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

Мы хранили нашу страницу макета в общей папке и ссылались на нее в наших проектах с помощьювиртуальный каталог.Таким образом, если бы нам нужно было изменить информацию в нижнем колонтитуле, заголовке или каком-либо стиле / js, мы могли бы загрузить одно изменение на страницу Layout, и это изменение будет иметь место на всех наших сайтах.

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

1 Ответ

0 голосов
/ 28 января 2019

.NET Core дает возможность создавать библиотеки Razor .Это будет отдельный проект, в котором вы можете иметь общие представления и ссылаться на него для остальных ваших проектов.Вы можете найти простую реализацию здесь .

Вы можете выбрать one из этих двух вариантов, чтобы сделать это.

  1. Ссылка на этот проект в каждом решении.Поскольку ваши решения напрямую ссылаются на библиотеку бритвы, любые изменения, внесенные в общую библиотеку, будут отражены в каждом решении без необходимости повторной упаковки и публикации.

  2. используйте dotnet pack, чтобы создать nuget в общей папке.Хотя этот параметр потребует от вас повторной упаковки и публикации каждый раз, в некоторых случаях это будет более организованным решением.Вы можете настроить версию.Это означает, что при обновлении проекта общей бритвы вы будете определять новый номер версии.Вы можете обновить это на каждом из ваших решений.Это снижает риск взлома проекта.Допустим, у вас есть 5 проектов, и 2 из них не совместимы с последним обновлением.В этом случае вы можете обновить 3 сразу.Оставшиеся 2 могут быть обновлены, когда вы можете потратить время на обновление этих проектов в соответствии с новыми требованиями.

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