До сегодняшнего утра, когда я обновился до 2.1.401, все было хорошо.У меня есть процесс CI / CD (с использованием Jenkins), который использует команды CLI для запуска преобразований в сгенерированном файле web.config (который создает .NET Core).Файл - это именно то, что сгенерировано, без изменений:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\MyService.WebApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
</system.webServer>
</location>
</configuration>
Из-за конфигурации нашего сервера мне нужно добавить элемент проверки в узел system.webServer.
Вот преобразованиеfile:
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.webServer>
<validation validateIntegratedModeConfiguration="false" xdt:Transform="Insert" />
</system.webServer>
</configuration>
Кажется, довольно прямолинейно.Но теперь, после обновления .NET Core до 2.1.401, я обнаружил ошибку:
[dotnet-xdt] ОШИБКА '': 4: 5: DotNet.Xdt.XmlNodeException: нет элементав исходном документе соответствует /configuration/system.webServer/validation'
Для справки я использую инструмент XDT из CLI .NET Core с командой:
dotnet xdt --source .\web.config.full --transform .\web.dev.config --output .\web.config
Я не понимаю, почему возникает эта ошибка, я не пытаюсь сопоставить этот элемент, я пытаюсь вставить элемент, поэтому, конечно, он не существует ... Он НЕ ПРЕДЛАГАЕТ существовать!!!
Кажется, я не могу найти что-либо с точки зрения прерывания изменений для 2.1.301 -> 2.1.401, и я вращаю свои колеса, пытаясь исправить все ~ 20 заданий, которые сейчас нарушеныиз-за этого.
Любое понимание, мысли, указание на возможные ошибки, все, что действительно могло бы быть полезным в этот момент!