Управление web.config в многосайтовом решении sitecore
У нас есть мультисайтовое решение с индивидуальными визуальными студийными решениями для каждого сайта. Тогда у нас есть мастер решение для создания / развертывания всех сайтов.
Во-первых, не уверен, стоит ли включать web.config в решение Visual Studio. Но я думаю, что все пакеты nuget нуждаются в web.config для добавления своих настроек.
В результате у нас есть web.config для каждого решения. Однако при развертывании с основного web.config перезаписывается каждым сайтом.
Может кто-нибудь предложить, как эта проблема может быть исправлена?
Благодарю.
3 ответа
Рекомендуется использовать каталог APP_Config\Include или, что еще лучше, создать для каждого проекта свой собственный каталог в папке include. попробуйте изменить web.config минимально, насколько это возможно. (тогда вы можете исключить web.config из вашего развертывания)
Пакеты nuget с изменениями для web.config вне <sitecore>
тег. не может быть установлен внутри включаемой папки, требует ручного управления.
Я бы посоветовал для каждого веб-сайта (в рамках его отдельного проекта) создать свою собственную папку App_Config / Include и создать _project_name_.config в этой папке, чтобы сохранить там все специфичные для сайта настройки (для дальнейшего слияния в получившуюся конфигурацию).
При сборке вы устанавливаете (для каждого отдельного проекта) этот файл, который будет скопирован в основную папку SITECORE_INSTANCE_WEB_ROOT\App_config\Include, вместе с остальными файлами конфигурации включаемых патчей.
Я бы оставил один web.config на главном сайте и удалил файлы web.config из других веб-проектов. Причина в том, что вы не можете иметь разные файлы web.config для одного сайта в любом случае.
В соответствии с настройками сайта, как указано выше, они должны храниться в файлах App_Config.