Я пытаюсь настроить сборку на локальном Team Foundation Server 2015 с использованием преобразований web.config. Преобразования работают нормально в зависимости от выбранной конфигурации сборки. У меня есть 3 конфигурации сборки: Debug, Release и одна, которую я создал, называется «Staging». Я пытаюсь сделать так, чтобы я мог повторно использовать одну и ту же сборку для разных сред, установив переменную $(BuildConfiguration) во время очереди. В моей сборке TFS на этапе «Сборка Visual Studio», когда я устанавливаю $(BuildConfiguration) на «отладку», сборка выводится в папку агента следующим образом: $(Build.SourcesDirectory)\projectFolder\obj\Debug\Package\PackageTmp . Если я установлю его на «выпуск», то он перейдет в $(Build.SourcesDirectory)\projectFolder\obj\Release\Package\PackageTmp. В обоих случаях файл Web.config преобразуется корректно.
Однако, если я установлю конфигурацию сборки на «Staging», файлы все равно будут помещены в папку «debug» $(Build.SourcesDirectory)\projectFolder\obj\Debug\Package\PackageTmp вместо папки «Staging». (Преобразования в этом случае также работают нормально и используют промежуточные значения)
Это создает проблему на моем шаге «Копировать файлы». У меня есть значение «Исходная папка» на этом шаге: $(Build.SourcesDirectory)\projectFolder\obj\ $(BuildConfiguration) \Package\PackageTmp, но при использовании «Staging» он не может найти исходную папку, поскольку TFS помещает файлы сборки в папку «Отладка».
Есть ли способ заставить TFS поместить созданные элементы (в основном файлы моего веб-приложения) в папку, соответствующую параметру конфигурации сборки, в данном случае «Staging»?