2011-05-15 23 views
8

Esta es probablemente una pregunta rápida. Soy muy nuevo en configuraciones de soluciones y transformaciones de archivos web.config xml. Quería añadir una transformación para establecer el atributo de depuración para el elemento de compilación de una página web Asp.Net MVC para cierto:MVC Web.Debug.Config Pregunta sobre el modo de depuración

Web.Debug.config:

<system.web> 
    <compilation debug="true" xdt:Transform="SetAttributes(debug)" /> 
    </system.web> 

Web.config:

<compilation targetFramework="4.0"> 
    <assemblies> 
     ... 
    </assemblies> 
</compilation> 

pero cuando presiono F5, aparece una ventana en Visual Studio que dice "La página no se puede ejecutar en modo de depuración porque la depuración no está habilitada en el archivo web.config". Luego, me da la opción de modificar el archivo Web.config. Pero pensé que el objetivo del archivo Web.Debug.config era permitir que esto se configurara automáticamente ... ¿Puedo hacer que Visual Studio use el archivo Web.config transformado después de presionar F5?

¡Muchas gracias de antemano!

Andrew

+0

asp.net no lee el archivo web.debug.config, a menos que lo haya agregado al web.config. Así que establezca debug = true en web.config, y no en web.debug.config. – Aristos

+0

@ Aristos: gracias por la respuesta :) Creo que la transformación está funcionando, pero está siendo enviada al directorio de depuración en lugar de ser utilizada para la depuración cuando presiono F5 ... – Andrew

Respuesta

4

Según mi experiencia, las transformaciones no ocurren cuando se utiliza el depurador F5 o Visual Studio. Solo realiza transformaciones después de publicar el sitio web.

9

bien, he decidido utilizar la siguiente configuración en su lugar:

Web.config:

<configuration> 
    ... 
    <system.web>  
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
      ... 
     </assemblies> 
    </compilation> 
    </system.web> 
    ... 
</configuration> 

Web.Release.config:

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

    <system.web> 
    <compilation debug="false" xdt:Transform="SetAttributes(debug)" /> 
    </system.web> 

</configuration> 

Esto debería hacer que el atributo de depuración de compilación se sobrescriba con "falso" cuando la configuración de despliegue de compilación la ración está configurada para "liberar".

3

Prueba este

< compilation xdt:Transform="RemoveAttributes(debug)" /> 
2

En Visual Studio 2013 si sólo tiene un archivo web.config, puede hacer clic derecho y elegir la opción "Añadir configuración Transform". Por defecto contiene el

<compilation xdt:Transform="RemoveAttributes(debug)" /> 

que elimina la depuración = "verdadero".