2015-02-09 2 views
12
проект

Наш ASP.NET Web Api имеет две конфигурации развертывания (.pubxml):Azure Сайт - преобразование Web.config не удается "Ни один элемент в исходном документе не соответствует /configuration/system.identityModel/identityConfiguration"

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

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

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 мимо этих ошибок? Он работает отлично, если я делаю прямое развертывание в Интернете.

ответ

26

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

<EnableADPublish>false</EnableADPublish> 

Cheers, Джефф

+0

Это работало и на меня, но есть ли у нас какие-либо идеи, почему? –

+0

Нет, но это сработало и для меня. – morganpdx

+0

То же самое. Не знаю, что такое EnableADPublish, но работал и на меня. – willem

0

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

<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> 
3

При использовании мастера публикации, убедитесь, что «Включить Организационное Authentication» снят **. Это исправило это для меня.

enter image description here

2

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

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

Он способен создать пакет, наконец!

0

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

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