Возможно ли преобразование App.config для Azure WebJob для разных профилей публикации?
В тех случаях, когда я работаю, мы создаем веб-сайты Azure и базы данных SQL для целей разработки по мере необходимости, а также для промежуточных и производственных сред. Мы создаем преобразование web.config для каждого профиля публикации, чтобы изменить строку подключения базы данных к базе данных, связанной с этим веб-сайтом.
Теперь я пытаюсь создать Azure WebJob, который должен будет делать обновления в базе данных. Я создаю его, щелкнув правой кнопкой мыши по проекту веб-приложения и выбрав "Добавить новый Azure WebJob".
Что мне нужно, чтобы заставить это сделать то, что мне нужно, это строка подключения базы данных SQL, которая указывает на ту же базу данных, которую использует веб-приложение. Я знаю, что они могут быть установлены на портале Azure и схвачены с менеджером конфигурации, но я предпочел бы иметь его в App.config WebJob и преобразовать App.config по мере необходимости.
Я пытался использовать Slow Cheetah для этого, но кажется, что вы можете иметь только преобразование для конфигураций Debug и Release.
Я начал выполнять шаги, указанные в этом блоге:
http://gunnarpeipman.com/2013/11/using-web-config-transforms-with-app-config-files/
Он сообщает вам, как вручную редактировать файл .csproj, чтобы включить преобразования App.config. Однако это не лучшее решение, потому что вам нужно будет вручную отредактировать файл проекта для каждого преобразования, которое вам нужно.
Может ли кто-нибудь сказать мне, как это сделать? Возможно ли это? ИЛИ есть способ поделиться значениями в файле web.config моего веб-приложения, который, как я знаю, будет преобразован в то, что мне нужно?
Ответы
Ответ 1
Как предложил @binard, Slow Cheetah - отличный способ создать преобразования web.config или app.config. После создания преобразований вы также можете просмотреть преобразования для определенной конфигурации.
Мой предпочтительный способ - создать пользовательские конфигурации, например. Dev и Prod и использование расширений "Slow Cheetah XML Transforms" создают преобразования для Dev и Prod отдельно от Debug и Release.
Как только этот шаг будет завершен, следующая задача состоит в том, чтобы убедиться, что правильная настройка получена с помощью настройки непрерывного развертывания в Azure. Для этого вам необходимо настроить конфигурацию, связанную с вашим Azure Web App, в разделе "Настройки приложения" на Azure Portal. Пример:
SCM_BUILD_ARGS=-p:Configuration=Dev
Как только это будет установлено, все веб-узлы в этом веб-приложении в Azure будут перенести преобразования для конфигурации, указанной в родительском веб-приложении.
Ответ 2
Вы можете использовать SlowCheetah. Это расширение для визуальной студии, которое добавляет возможности преобразования на App.config = > https://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5