stackoverflow.com/questions/3636103/...

всех сил пытаюсь заставить преобразования web.config работать с автоматизированными сборками.

У нас есть достаточно большое решение, содержащее одно веб-приложение ASP.NET и восемь библиотек классов. Над проектом работают три разработчика, и до сих пор каждый из них «опубликовал» решение в локальной папке, а затем использовал копию файла для развертывания на тестовом сервере. Я пытаюсь внедрить автоматизированное решение для сборки / развертывания с использованием TFS 2010.

Я создал определение сборки и добавил вызов msdeploy.exe в шаблон процесса сборки, чтобы развернуть приложение на тестовом сервере. Все идет нормально!

Затем я попытался реализовать преобразования web.config и просто не могу заставить их работать. Если я собираю и публикую локально на моем ПК, в папке «publish» будет правильный преобразованный файл web.config.

Используя команду build, трансформация просто не происходит, и у меня просто есть базовый файл web.config.

Я попытался добавить шаг после сборки в файл проекта веб-приложения, как предлагали другие, например:

<target name="AfterBuild">
<TransformXml Source="Web.generic.config"
             Transform="$(ProjectConfigTransformFileName)"
             Destination="Web.Config" />
</target>

но это не удается, поскольку исходный файл web.config имеет раздел «applicationSettings». Я получаю ошибку

Не удалось найти информацию о схеме для элемента applicationSettings.

Я видел предложения по добавлению аргументов к задаче MSBuild в определении сборки, например

/t:TransformWebConfig /p:Configuration=Debug

Но это происходит, когда создаются проекты библиотек классов, возможно потому, что у них нет файла web.config.

Есть идеи? Как и другие, я думал, что это будет «просто работать», но, видимо, нет. Это последняя часть, которая мне нужна, чтобы работать, и это сводит меня с ума. Я не эксперт по MSBild, поэтому, пожалуйста, просто и понятно!

Заранее спасибо.

Doug

Ответы на вопрос(2)

Ваш ответ на вопрос