2012-05-31 11 views
10

Sto lavorando su un sito in cui usiamo Web.Debug.config con trasformare XSLT per trasformare gli errori personalizzati offCome trasformare gli errori personalizzati fuori durante la distribuzione all'azzurro in modalità debug solo

<customErrors mode="Off" xdt:Transform="Replace"/>` 

Tuttavia questo doesn' t sembra essere preso in considerazione quando si distribuisce in azzurro.

Da

Azure web.config per environment

posso vedere che Azure utilizza file .cscfg, e che quello che sto cercando di realizzare probabilmente coinvolgerà questi file? Qual è il modo più semplice per disattivare gli errori personalizzati durante la distribuzione in azzurro, ma solo quando si esegue il debug?

risposta

9

Tuttavia, questo non sembra essere preso in considerazione durante la distribuzione all'azzurro

Probabilmente perché web.config normale non contiene un elemento (Ho avuto lo stesso problema di oggi). Ovviamente la tua trasformazione di "sostituzione" può essere applicata solo se effettivamente c'è qualcosa da applicare.

Qual è il modo più semplice per disattivare gli errori personalizzati durante la distribuzione in azzurro ma solo in caso di debug?

C'è un debug web.config e una versione web.config (è possibile espandere il web.config). Applicare le trasformazioni di produzione nella release one e le trasformazioni di debug in quella di debug.

+1

Ttrue, ma poteva creare una nuova configurazione di build solo per il packaging. –

7

Il fatto è che qualsiasi cosa che si aggiungerà in web.release.config o web.debug.config non sarà inclusa nel web.config finale che sarà la parte del pacchetto dell'applicazione (CSPKG) distribuita in Windows Azure . Se si desidera che alcune impostazioni di web.config siano parte dell'applicazione Windows Azure, sarà necessario definire esplicitamente in web.config.

Per attivare gli errori personalizzati Off, è necessario aggiungere il seguente esplicitamente nel web.config:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
    ...... 
    <system.web> 
    <customErrors mode="Off" xdt:Transform="Replace"/> 
    </system.web> 
..... 
</configuration> 
+2

Quindi, quando si esegue la distribuzione in azzurro, ignora le trasformazioni? Sono un po 'confuso, l'esempio di codice che hai dato è una trasformazione? – Tom

+0

No, sta dicendo che web.debug.config e web.release.config non vengono presi in considerazione. –

1

è necessario avere questa linea in web.config

<customErrors mode="Off"/> 

E in web .config.release

<system.web> 
    <customErrors mode="Off" xdt:Transform="Replace"/> 
    <compilation xdt:Transform="RemoveAttributes(debug)" />  
    </system.web> 

Quando l'uso 1 click pubblicare, sostituirà da web.config.release al web.config Quindi, se web.config non hanno tag customErrors, ignorerà

6

da Visual Studio 2015, per un "App Servizio ", aprire Esplora server e passare ad Azure -> Servizio app -> {nome gruppo risorse} -> {nome servizio app} -> File -> Web.config.

A questo punto, è possibile modificare il file web.config direttamente e salvarlo - Nessuna pubblicazione richiesto.

Problemi correlati