Преобразование Web.config завершается ошибкой после обновления до .NET Core 2.1.401 - PullRequest
0 голосов
/ 10 сентября 2018

До сегодняшнего утра, когда я обновился до 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 заданий, которые сейчас нарушеныиз-за этого.

Любое понимание, мысли, указание на возможные ошибки, все, что действительно могло бы быть полезным в этот момент!

1 Ответ

0 голосов
/ 11 сентября 2018

Нет узла /configuration/system.webServer в web.config.full.Но существует узел /configuration/location/system.webServer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...