Как развернуть веб-задание Azure с использованием разных конфигураций для разных сред в Visual Studio

У нас есть несколько веб-приложений и веб-заданий с разными конфигурациями для разных сред, например Тестирование и выпуск.

Каждое веб-задание развертывается в веб-приложении с помощью функции «Опубликовать как веб-задание Azure» в Visual Studio.

Мы используем расширение Config Transform для преобразования файла App.config, который состоит из различных разделов конфигурации, строк подключения и настроек приложения, которые необходимо преобразовать. Это отлично работает для локальной отладки и для выпуска.

Проблема в том, что когда мы используем «Опубликовать как веб-задание Azure», нет способа указать, какую конфигурацию использовать, а Release всегда создается и публикуется, даже если в Visual Studio выбран Test.

Мы также пытались развернуть веб-задание вместе с веб-приложением, но оно почти всегда зависает, как описано в Зависание при публикации веб-приложения в Azure с помощью WebJob

Нам не нужно использовать преобразование конфигурации, если это невозможно, например мы можем настроить прямо в Azure. Но я не нашел способа настроить разделы конфигурации непосредственно в Azure.


person Lillvik    schedule 15.01.2016    source источник


Ответы (2)


Да, это известная проблема с инструментами VS, которая часто возникает. Короткий ответ заключается в том, что преобразования стиля web.config не поддерживаются для общих типов приложений, таких как консольные приложения.

Это обсуждалось недавно в контексте веб-заданий в нашем общедоступном репозитории здесь . Эта проблема также связана с Проблема с VS User Voice для этого. Этот элемент также связан с расширением SlowCheetah VS, которое, по словам некоторых пользователей, им подходит. Вы можете попробовать.

Если это не сработает для вас, вам придется вручную управлять своими настройками через колонка параметров приложения на портале Azure.

person mathewc    schedule 15.01.2016

Я добавил этап предварительной сборки, чтобы изменить файлы webjob-publishing-setting.json и app.config в зависимости от выбранной конфигурации.

У webjob-publishing-settings.json было только имя. Затем из Visual Studio 2019 я использовал «Опубликовать как веб-задание Azure» и создал второе веб-задание с новым именем и новой конфигурацией.

Работает отлично!

person Magnus Danielson    schedule 29.04.2020