2012-04-30 15 views
11

Tengo un web.config que contiene reglas de reescritura como esto:No se puede quitar Web.Config nodos usando la transformada

<system.webServer> 
    <rewrite> 
     <rules><!-- Some rules here --></rules> 
    </rewrite> 
</system.webServer> 

Para una configuración de despliegue particular, quiero para eliminar el nodo <rewrite> completo.

He intentado hacer esto:

<system.web> 
    <rewrite xdt:Transform="RemoveAll" /> 
</system.web>  

Sobre la base de esta documentación:

http://msdn.microsoft.com/en-us/library/dd465326.aspx

pero sigue siendo el nodo <rewrite>.

¿Qué me estoy perdiendo?

Respuesta

20

Hmm Acabo de probar esto aquí es mi archivo de transformación.

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 

    <system.webServer> 
    <rewrite xdt:Transform="RemoveAll" /> 
    </system.webServer> 

</configuration> 

Y aquí está el resultado: illustrates difference of web.config after transform FYI una vista previa proporcionada por SlowCheetah.

También empaqué el proyecto web y verifiqué que el web.config de hecho no tenía el nodo de reescritura. Una cosa que debes probar aquí es eliminar tu carpeta obj \ y volver a intentarlo. ¿Me puedes decir los resultados?

+1

D'oh! Tenía mi regla en 'system.web' en lugar de' system.webServer'. Leer detenidamente tu respuesta me hizo darme cuenta del error de mis maneras :-) –

Cuestiones relacionadas