Когда происходят преобразования Web.Config в VS2010? - PullRequest
1 голос
/ 06 июля 2011

Наш код использует различные настройки для сред разработки и производства, поэтому мы рассматривали возможности преобразования web.config в VS2010. После часов проб и ошибок ничего не получилось. Мы нашли тестер преобразования Web.config и обнаружили, что то, что мы пытались, должно было работать (согласно этому инструменту.)

Мы попытались протестировать преобразования с помощью Build, а не Publish. Он работает только при публикации или что-то не так?

Ответы [ 3 ]

3 голосов
/ 06 июля 2011

Да, он работает только при публикации.Чтобы проверить, опубликовать в местном каталоге.Вы захотите опубликовать приложение с правильным набором целевой среды.

Вы также можете интегрировать преобразования веб-конфигурации с MS Build.

2 голосов
/ 07 июля 2011

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

Откройте командную строку Visual Studio и перейдите в каталог вашего рабочего проекта, содержащий ваш файл .csproj.Введите следующую команду:

MSBuild project.csproj /t:TransformWebConfig /p:Configuration=Debug

Приведенный выше пример запустит преобразование Debug во время сборки файла project.csproj.Это выведет файл Web.config в каталог obj \ Debug \ TransformWebConfig \ transformed \, где Debug - это любая конфигурация, указанная в приведенной выше команде.

Скопируйте этот файл, чтобы заменить корневой файл Web.config,и вы сделали.Вы можете написать пакетный скрипт для автоматического запуска обоих этих элементов, но для более крупных проектов со многими конфигурациями это может стать громоздким.

Возможно, вы сможете добавить эти аргументы командной строки в процесс сборки внутри Visual Studio., но я не уверен, как - насколько я знаю, чтобы этот метод работал, вам придется строить из командной строки, а не внутри Visual Studio.Вы можете все еще использовать команду «Очистить» в Visual Studio для очистки папки obj, но она будет очищать только режим конфигурации решения, выбранный в IDE.Clean не вернет отредактированный файл web.config, поэтому вы можете создать резервную копию, прежде чем продолжить, если вам нужно.

(Аргументы командной строки найдены в этой статье MSDN .)

0 голосов
/ 07 сентября 2011

Вам не нужно запускать Publish / Build Package, чтобы протестировать преобразование Web.config.Есть крутой трюк, чтобы быстро узнать результат преобразования здесь .Прокрутите вниз, пока не увидите комментарий о создании проекта TransformConfig.Это работает как очарование, обратите внимание, что вы можете спокойно игнорировать 7-й шаг (честно говоря, я не знаю, как правильно сделать этот шаг, но, к счастью, он нам не нужен:)).

...