Подтвердить что ты не робот

Azure Website - преобразование Web.config не выполняется "Ни один элемент в исходном документе не соответствует /configuration/system.identityModel/identityConfiguration"

Наш проект ASP.NET Web Api имеет две конфигурации развертывания (.pubxml):

  • Развертывание веб-сайтов непосредственно на веб-сайтах Azure.
  • Развертывание пакета в локальном Zip файле.

Развертывание в Интернете (1) работает отлично. Развертывание пакета в zip происходит со следующими ошибками:

Warning 3   No element in the source document matches '/configuration/system.identityModel'     20  10  MyWebProject
Error   4   No element in the source document matches '/configuration/system.identityModel/identityConfiguration'       21  10  MyWebProject

Глядя на подробные журналы, я вижу, что он не работает во время преобразования Web.config.

        ParameterizeTransformXml:   No element in the source document matches '/configuration/appSettings/add[@key='ida:AudienceUri']'
        ParameterizeTransformXml:   Not executing SetTokenizedAttributes (transform line 7, 9)
        ParameterizeTransformXml:   No element in the source document matches '/configuration/appSettings/add[@key='ida:Realm']'
        ParameterizeTransformXml:   Not executing SetTokenizedAttributes (transform line 10, 9)
        ParameterizeTransformXml:   No element in the source document matches '/configuration/appSettings/add[@key='ida:FederationMetadataLocation']'
        ParameterizeTransformXml:   Not executing SetTokenizedAttributes (transform line 13, 9)
 Warning : No element in the source document matches '/configuration/system.identityModel'
        ParameterizeTransformXml:   Not executing RemoveAll (transform line 24, 14)
 Error : No element in the source document matches '/configuration/system.identityModel/identityConfiguration'
        ParameterizeTransformXml:   Not executing Insert (transform line 27, 9)
        ParameterizeTransformXml:   No element in the source document matches '/configuration/system.identityModel'
        ParameterizeTransformXml:   Not executing SetTokenizedAttributes (transform line 33, 9)
        ParameterizeTransformXml:   No element in the source document matches '/configuration/system.identityModel.services'
        ParameterizeTransformXml:   Not executing SetTokenizedAttributes (transform line 42, 9)
        ParameterizeTransformXml:   No element in the source document matches '/configuration/system.identityModel.services'
        ParameterizeTransformXml:   Not executing SetTokenizedAttributes (transform line 45, 9)
        ParameterizeTransformXml: Transformation failed
        Done executing task "ParameterizeTransformXml" -- FAILED.
        Done building target "_TransformWebConfigForAzureAuthenticationCore" in project "MyWebProject.csproj" -- FAILED.
Done building project "MyWebProject.csproj" -- FAILED.

Какую дополнительную информацию о сборке нужно настроить для того, чтобы получить распространение Zip за этими ошибками?. Это работает отлично, если я делаю прямое веб-развертывание.

4b9b3361

Ответ 1

Проверьте настройки публикации, чтобы убедиться, что для параметра EnableAdPublish установлено значение true. Это была моя проблема (я настраивал Azure AD Auth другими способами), поэтому я просто установил ее в false и все отлично работало.

<EnableADPublish>false</EnableADPublish>

Cheers, Джефф

Ответ 2

Если вы используете мастер публикации, убедитесь, что флажок "Включить организационную проверку подлинности" не установлен **. Это исправило это для меня.

введите описание изображения здесь

Ответ 3

Я добавил указанную ниже конфигурацию явно:

<system.identityModel>
    <identityConfiguration>
      <audienceUris>        
      </audienceUris>
    </identityConfiguration>
</system.identityModel>

Он может наконец создать пакет!

Ответ 4

Вам не хватает элементов system.identityModel в вашей конфигурации для интеграции AD. Если вы хотите интегрироваться с azure AD, вам нужно включить параметры конфигурации Windows Identity Foundation (WIF) в вашей конфигурации.

<configuration>
  <configSections>
    <!--WIF 4.5 sections -->
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
  </configSections>

  ...

  <system.identityModel>
    <identityConfiguration>
      <audienceUris>
        <add value="http://localhost/WebApplication1/" />
      </audienceUris>
      <issuerNameRegistry type="System.IdentityModel.Tokens.ConfigurationBasedIssuerNameRegistry, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089">
        <trustedIssuers>
          <add thumbprint="313D3B … 9106A9EC" name="SelfSTS" />
        </trustedIssuers>
      </issuerNameRegistry>
      <certificateValidation certificateValidationMode="None"/>
    </identityConfiguration>
  </system.identityModel>

  ...

</configuration>

Ответ 5

Я знаю, что это довольно старо, но у меня была эта проблема, и единственная, что разрешило это для меня, - это перезагрузить профиль публикации из блейд-сервера Azure Web App "Получить публикацию профиля". Затем мне пришлось импортировать его в решение.

Надеюсь, что это поможет кому-то!