Вот процесс токенизации, который мы используем в настоящее время (мы не архивируем результаты сборки, см. Предложения по расширениям ниже):
BUILD:
Замените App.Config на App.Config.Token, например, с командой copy в командной строке -task.
RELEASE
Для каждой среды / этапа:
- Использовать расширение "Replace Tokens"для .config.Это считывает переменные, зависящие от среды, из определения выпуска и заменяет токены в .config (который был заменен на .config.token в сборке)
- Выполните развертывание
Замена токеноввнутри архива требуется другое расширение, Tokenize в архиве может быть вариантом там.Мы используем инструменты Colin's Build and Release , которые имеют отличный токенизатор для json-файлов.Я предпочитаю токенизатор Колина, так как он довольно прост, и не нужно баловаться с XPATH и преобразованиями.Мы также используем Json to Variables для хранения переменных среды в VC вместо хранения их в определениях выпуска.Я подозреваю, что последний не будет работать в TFS 2017, но не пытался.
Что касается исходного вопроса, я подозреваю, что используемое расширение не может прочитать файл, который вы пытаетесьтокенизировать из архива.Сам не использовал это расширение, но я поместил JSON-файл в систему управления версиями, чтобы он оказался в артефакте сборки.Имя файла назначения подразумевает, что расширение может записать окончательный файл конфигурации, вероятно заменяя оригинальный файл app.config.