инициируйте преобразование конфигурации в 2010 TFS или msbuild

Я пытаюсь использовать преобразования конфигурации в непрерывной среде интеграции.

Мне нужен способ сказать агенту сборки TFS выполнять преобразования. Я был видом надежды, что он будет просто работать после обнаружения, что конфигурация преобразовывает файлы (web.qa-release.config, web.production-release.config, и т.д....). Но это не делает.

У меня есть определение сборки TFS, которое создает правильные конфигурации (быстродействующий выпуск, производственный выпуск, и т.д....), и у меня есть некоторые определенные .proj файлы, которые создаются в рамках этих определений, и они содержат некоторую среду определенные параметры, например:


    qa.web
    ...


    production.web
    ...

Я знаю от вывода, что корректные конфигурации создаются. Теперь я просто должен изучить, как инициировать преобразования конфигурации. Есть ли некоторый фокус-покус, который я могу добавить к финалу .proj в сборке, чтобы начать преобразование и сдуть отдельные файлы преобразования?

16
задан grenade 8 December 2009 в 14:56
поделиться

2 ответа

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

  1. Перейдите в Team Explorer > Builds
  2. Отредактируйте определение сборки (или создайте новое)
  3. На шаге "Process" есть настройки для "Configurations to Build".

В моем случае я установил конфигурацию специально для CI, которая затем выполняет правильные преобразования web.config. Убедитесь, что вы добавили файл преобразования "CI", и все будет готово.

1
ответ дан 30 November 2019 в 17:52
поделиться

Мне наконец удалось заставить это работать. Я использую TFS 2008, но также использую MSBuild 4.0, поэтому он должен работать на вас.

Сначала добавьте этот импорт в TFSBuild.proj:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

Затем добавьте цель BeforeDropBuild:

<Target Name="BeforeDropBuild">
  <TransformXml Source="$(SolutionRoot)\MySite\Web.config"
    Transform="$(SolutionRoot)\MySite\Web.QA.config"
    Destination="$(OutDir)\_PublishedWebsites\MySite\Web.QA.config.transformed" />
</Target>

Затем вы можете скопировать Web.QA.config.transformed туда, куда вам нужно.

6
ответ дан 30 November 2019 в 17:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: