asp.net - studio - para habilitar la depuración de aplicaciones asp net es necesario
Cómo establecer la depuración en falso para el modo de lanzamiento (4)
Las transformaciones de Web.config tal como están definidas en Web.Release.config solo se llevan a cabo al implementar / publicar el proyecto para la configuración relevante.
Simplemente al cambiar la configuración activa en Visual Studio para Liberar y ejecutar la aplicación no se ejecutan las transformaciones. Por lo tanto, el web.config permanece sin cambios. Este comportamiento es razonable por cierto, ya que una aplicación web se ejecuta desde el directorio del proyecto que contiene el web.config original. Si Visual Studio transformara el web.consign, se cambiaría su web.config original.
Si aún no ha creado un perfil de implementación, puede publicar su aplicación en el sistema de archivos para verificar el comportamiento. Elija Liberar como la configuración para ejecutar la implementación. Las transformaciones se deben ejecutar como se espera.
Tengo este archivo web.config con la opción de compilación establecida a continuación
Web.config
<configuration>
...
<system.web>
<compilation debug="true" targetFramework="4.5" />
...
</system.web>
</configuration>
Y esto es lo que Visual Studio pone para el modo de lanzamiento de forma predeterminada.
Web.Release.config
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
Estoy usando esto para el proyecto MVC4. Basado en este tutorial , esperaba que se sirvieran versiones minificadas de js y css, cuando la aplicación se ejecuta en Modo de Liberación . Pero esto no parece funcionar y se están sirviendo versiones no minificadas de js y css. Por otro lado, si configuro explícitamente la depuración en falso en web.config, las versiones mín se publicarán correctamente.
Parece que la etiqueta de compilación Transforma el problema cuando la aplicación se ejecuta en Modo de lanzamiento , pero no entiendo qué pasa con lo mismo en Web.Release.config.
En resumen, no puedo hacer que la agrupación y la minificación funcionen, ejecutando la aplicación en Modo de Liberación .
Si desea probar su agrupación de .NET y la minificación que tiene configurada en su archivo Global.asax, también puede usar la notación de precompilación ... por ejemplo
#if DEBUG
BundleTable.EnableOptimizations = false;
#else
BundleTable.EnableOptimizations = true;
#endif
Con esto, su aplicación no necesitará desencadenar la transformación en la operación de compilación y se ejecutará tal como lo desea.
Mi respuesta puede ser tarde, sin embargo, esto fue lo que funcionó conmigo:
He cambiado la línea:
<compilation xdt:Transform="RemoveAttributes(debug)" />
a :
<compilation xdt:Transform="Replace" debug="false" targetFramework="4.5" />
esto básicamente hizo el truco, ya que creo que el optimizador está buscando el valor de Debug para estar presente y == "falso".
Espero que esto ayude a las personas que no quieren administrar esto desde el código.
Posiblemente una mejora a la respuesta de Omar.Alani:
En la transformación Release, reemplace la línea:
<compilation xdt:Transform="RemoveAttributes(debug)" />
con lo siguiente:
<compilation debug="false" xdt:Transform="SetAttributes" />