У меня есть конвейеры сборки и выпуска в Azure DevOps (Visual Studio Online) для веб-сайта ASP.NET (неосновного) на .Net Framework 4.6.1.
После завершения развертыванияУ файла Web.config
есть пустой атрибут value
для всех AppSettings
keys
, которые я установил в файле преобразования XDT.
Web.config, используемый моим локальным IIS, имеет такие значения:
<appSettings>
<add key="testKey1" value="testValue1" />
<add key="testKey2" value="testValue2" />
….
….
</appSettings>
После того, как развертывание закончено, вот как AppSettings
выглядит в Web.config
:
<appSettings>
<add key="testKey1" value="" /> <!-- Notice how the value is empty -->
<add key="testKey2" value="" />
….
….
</appSettings>
Примечание: это извлекается непосредственно с сервера.
Мой файл преобразования называется Web.MyTestEnvironment.config
, а MyTestEnvironment - это то же имя, что и этап в DevOps Azure, для которого задана задача развертывания / публикации артефакта.
В журналах я вижу azure app service deploy (Version 4.x if that matters)
применяя эти преобразования одно за другим и сообщая об успешном выполнении (я установил System.Debug
в true
в переменных конвейера, чтобы получить это).
Я попытался загрузить zip-файл артефакта и увидел, что parameters.xml
В файле установлены все локаторы XPath, но SetParameters.xml
filЭто выглядит так:
<parameters>
<setParameter value="" name="testKey1" /> <!-- Also notice how value is empty -->
<setParameter value="" name="testKey2" />
</parameters>
Я перепробовал все, что мог, и искал в Интернете похожие проблемы, но безрезультатно.
Вот как работает FileTransformустановите в задаче CI:
![enter image description here](https://i.stack.imgur.com/ycLdV.png)
Есть идеи, почему мои преобразования игнорируются?или может быть переопределено файлом SetParameters.xml
?
Я следовал этому руководству, чтобы настроить преобразования в DevOps Azure: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/transforms-variable-substitution?view=azure-devops
Кроме того, посмотрел бесчисленное множество StackOverflowвопросы, но они не описывают мой сценарий.
Любая помощь очень ценится.