Visual Studio 2010 может применять преобразования Debug или Release к Web.config, но как насчет настроек Azure? - PullRequest
2 голосов
/ 19 ноября 2010

Нужно ли вручную редактировать строки подключения Azure для переключения между производством и разработкой, или есть что-то сопоставимое с Transformation Visual Studio, применимым к Web.Config?

Ответы [ 5 ]

4 голосов
/ 19 ноября 2010

Чтобы добавить к тому, что сказал Брент.Я использую специальный небольшой проект только для конфигурации (Config), который содержит папку для каждого типа развертывания - внутри каждой папки есть коллекция файлов .config и .cscfg, которые приспособлены для конкретного развертывания (также есть несколько частичных файлов .config).).Во время каждой компиляции через шаг события Pre-Build Visual Studio копирует файлы из правильной папки в корневую папку этого проекта Config.
Это команда, которую я использую в командной строке события Pre-Build:

xcopy /Y "$(ProjectDir)$(ConfigurationName)\*.config" "$(ProjectDir)"
xcopy /Y "$(ProjectDir)$(ConfigurationName)\*.cscfg" "$(ProjectDir)"

Каждый другой проект в решении ссылается на файлы конфигурации из папки root проекта Config.

Я также использую преобразования конфигурации, для Производства и для Не.-производственные среды.Все непроизводственное (локальная среда разработки, среда разработки Azure-QA) имеет много встроенных средств отладки и трассировки - ошибки полностью возвращаются клиентам и т. Д.В производственной среде это заблокировано.

Редактировать: наконец-то написал блог об этом: http://www.paraleap.com/blog/post/Managing-environments-in-a-distributed-Azure-or-other-cloud-based-NET-solution.aspx

Как отметил Брент, не стоит создавать полноценную область подготовки.Тестирование сайта.Он в большей степени ориентирован на быстрое тестирование дыма, а также на отличный способ развертывания нового пакета в Azure без остановки основного сайта.(Переключение IP между производством и развертыванием обычно не вызывает проблем у пользователей)

Надеюсь, это поможет

2 голосов
/ 19 ноября 2010

Сначала вопрос, вы имеете в виду настройки конфигурации в традиционных конфигах? Или в конфиге облачного сервиса (cscfg)?

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

Эта тема также затрагивает использование среды "Staging". Я видел, как некоторые люди использовали его в качестве среды параллельного тестирования. На практике более эффективно использовать его в качестве промежуточной зоны для тестирования нового развертывания перед запуском его в эксплуатацию. Если вам нужна более длительная среда тестирования, я считаю, что лучше развернуть эти службы в их собственных уникальных пространствах имен, которые затем изолируются от производственных служб.

Это снова касается рекомендаций ALM для Azure (управление версиями, развертывание и т. Д.). Кое-что, я полагаю, что команда PNP работает над этим и, будем надеяться, скоро даст рекомендации.

1 голос
/ 26 июня 2012

Вы можете использовать CloudConfigurationManager в Azure SDK 1.7 http://msdn.microsoft.com/en-us/LIBRARY/microsoft.windowsazure.cloudconfigurationmanager

Это начинается с поиска в ServiceConfiguration.cscfg, например, ServiceConfiguration.Cloud.cscfg для настройки конфигурации.Если его там нет, он возвращается к web.config и app.config

Например,

CloudConfigurationManager.GetSetting("StorageConnectionString")

Будет искать в соответствующем параметре cscfgfile StorageConnectionString, затем он будет искать в Интернете..config, а затем app.config.

1 голос
/ 03 марта 2011

Как сказал knightpfhor, вы можете использовать преобразования конфигурации Visual Studio, если вы редактируете файл .ccproj вручную. В моем ответе на аналогичный вопрос указано минимальное количество шагов, необходимых для работы преобразований.

0 голосов
/ 21 ноября 2010

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

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