Для рабочей роли VSTS я пытаюсь создать преобразования конфигурации, чтобы можно было изменять настройки в зависимости от среды.
Я создал два файла в каталоге своего решения, App.dev.config и App.prod.config, которые я связал с тестовым проектом. Затем я использовал этот инструмент для применения преобразований конфигурации и создания файлов App.Debug.config и App.Release.config.
В обычном старом файле app.config моей рабочей роли я указываю, что настройки приложения обычно берутся из файла App.dev.config, поэтому он может либо оставаться на месте, либо быть перезаписан преобразованием.
<appSettings file = "App.dev.config">
.
В моем файле App.Release.config у меня есть следующее преобразование, чтобы указать мои appSettings для чтения из моего производственного определения: <appSettings file = "App.prod.config" xdt:Transform = "SetAttributes(file)">
Мои махинации работают нормально, когда я переключаюсь между конфигурациями отладки и выпуска на моем локальном компьютере. Я успешно вижу распечатанные переменные среды в зависимости от того, выбираю ли я «выпуск» или «отладка». Однако, когда я развертываю в VSTS и указываю «выпуск» в моей переменной BuildConfiguration, файлы журнала сказать выполняют преобразование, но если я смотрю файл конфигурации на удаленном компьютере, такое преобразование не происходит.
Как видите, они показывают, что какая-то трансформация прошла успешно:
2018-05-01T19:58:08.9166019Z App_config_AfterCompile:
2018-05-01T19:58:08.9166379Z Transforming Source File: App.config
2018-05-01T19:58:08.9311923Z Applying Transform File: App.Release.config
2018-05-01T19:58:08.9767602Z Output File: obj\Release\DeviceCloud.Application.ReportWorker.exe.config
2018-05-01T19:58:09.0006922Z Transformation succeeded
Итак, я не уверен, почему в моем файле DeviceCloud.Application.ReportWorker.exe.config не применены преобразования.
@ starianchen-MSFT Предположительно преобразованный файл конфигурации находится на удаленном компьютере в папке E: \ AppRoot \ DeviceCloud.Application.ReportWorker.exe.config. Он по-прежнему указывает на App.dev.config под атрибутом файла.
Не могли бы вы добавить к своему вопросу снимок экрана конфигурации задачи сборки?
Можете ли вы воспроизвести эту проблему с помощью простых проектов? Если да, вы можете поделиться примерами проектов в OneDrive.
Какой файл вы проверяли? Какой путь к файлу?