Существуют ли какие-либо инструменты или расширения Visual Studio 2010, которые позволяют мне просматривать результат преобразования файла конфигурации без публикации всего проекта? Вызывается ли процесс, выполняющий преобразование, напрямую?
Изменить
Еще немного погуглив, я наткнулся на это:
Шаг 4. Создание нового преобразованного файла web.config для «промежуточной» среды из командной строки
Откройте командную строку Visual Studio, выбрав Пуск -> Программные файлы -> Visual Studio v10.0 -> Инструменты Visual Studio -> Командная строка Visual Studio 10.0.
Введите «MSBuild« Путь к файлу проекта приложения (.csproj / .vbproj) »/ t: TransformWebConfig / p: Configuration = Staging» и нажмите Enter, как показано ниже:
После успешного преобразования web.config для «промежуточной» конфигурации будет сохранен в папке obj -> Staging в корне вашего проекта (в обозревателе решений вы можете получить доступ к этой папке, сначала отключив скрытые файлы):
- В обозревателе решений нажмите кнопку, чтобы отобразить скрытые файлы.
- Откройте папку Obj
- Перейдите к своей активной конфигурации (в нашем текущем случае это «Промежуточная»).
- Вы можете найти преобразованный файл web.config там
Теперь вы можете убедиться, что сгенерированный новый промежуточный файл web.config содержит измененный раздел строки подключения.
На самом деле это не идеальное решение для меня, поскольку для него все еще требуется собрать весь проект - по крайней мере, с помощью команды, которую он опубликовал. Если кто-нибудь знает, как пропустить этап сборки с помощью команды MSBuild, это будет полезно (хотя это звучит несколько маловероятно).
Изменить 2
Я также нашел этот инструмент преобразования конфигурации на CodePlex, который предлагает некоторые полезные функции для расширения процесса преобразования. Это инструмент, который я видел ближе всего к той функциональности, которую я ищу, и мог бы стать отличной отправной точкой для разработки расширения, которое создает превью. Он использует библиотеку Microsoft.Web.Publishing.Tasks для выполнения преобразования и не зависит от создания реального проекта.