2015-02-09 12 views
12
progetto

nostro ASP.NET Web Api ha due configurazioni di distribuzione (.pubxml):Azure Sito web - web.config trasformare fallisce "Nessun elemento nel documento sorgente partite /configuration/system.identityModel/identityConfiguration"

  1. Distribuzione Web direttamente nei siti Web di Azure.
  2. Distribuzione del pacchetto in un file Zip locale.

La distribuzione Web (1) funziona correttamente. La distribuzione del pacchetto per una zip sta fallendo con i seguenti errori:

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 

Esaminando i registri dettagliati, posso vedere è in mancanza durante il web.config trasformare.

 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. 

Quali informazioni di build aggiuntive ho bisogno per configurare per ottenere la distribuzione postale oltre questi errori? Funziona perfettamente se faccio una distribuzione web diretta.

risposta

26

Controlla le impostazioni di pubblicazione per vedere se EnableADPublish è impostato su true. Questo era il mio problema (stavo configurando Azure AD Auth con altri mezzi), quindi l'ho impostato su false e tutto ha funzionato alla grande.

<EnableADPublish>false</EnableADPublish> 

Cheers, Jeff

+0

Questo ha funzionato anche per me, ma abbiamo qualche idea del perché? –

+0

No, ma questo ha funzionato anche per me. – morganpdx

+0

Stesso. Non ho idea di cosa sia EnableADPublish, ma ha funzionato anche per me. – willem

0

È mancano gli elementi system.identityModel nella configurazione per l'integrazione AD. Se si desidera integrare con l'annuncio blu, è necessario enable Windows Identity Foundation (WIF) options nella configurazione.

<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

Se si utilizza la procedura guidata di pubblicare, fare in modo che "Attiva autenticazione Organizzativo" non è selezionata **. Questo l'ha risolto per me.

enter image description here

2

ho aggiunto la configurazione di seguito in modo esplicito:

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

'in grado di creare il pacchetto finalmente!

0

So che questo è piuttosto vecchio, ma ho appena avuto questo problema e l'unica cosa che lo ha risolto è stato il nuovo download del profilo di pubblicazione dal pulsante "Ottieni profilo di pubblicazione" di Azure Web App. Quindi ho dovuto importarlo nella soluzione.

La speranza che aiuta qualcuno!

Problemi correlati