c# - studio - Web.config no se transforma al depurar código
no se puede conectar con el servidor web iis express visual studio 2017 (2)
Tengo un archivo Web.config
principal, y debajo de eso hay un Web.Test.config
, Web.Development.Config
, etc.
Cuando obtengo una vista previa de la transformación a través de SlowCheetah en la configuración de prueba, parece que se transforman los valores correctamente.
Cuando cambio mi entorno de compilación de Desarrollo a Pruebas y trato de depurar la aplicación, la aplicación se ejecuta con los valores que se encuentran en el archivo principal de Web.config
(es decir, no está transformando nada).
¿Cómo hago que el entorno de compilación elija la configuración correcta al depurar en lugar de usar siempre el archivo base Web.config
? es posible?
Las transformaciones XML solo se aplicarán cuando publique aplicaciones web y no durante la compilación.
Esta publicación del blog detalla una solución al uso de la configuración de compilación.
Puede transformar Web.config
en la compilación. Agregue este objetivo al archivo *.csproj
:
<Import Project="$(MSBuildExtensionsPath32)/Microsoft/VisualStudio/v$(VisualStudioVersion)/WebApplications/Microsoft.WebApplication.targets" />
<Target Name="BeforeBuild">
<TransformXml
Source="Web.Base.config"
Transform="Web.$(Configuration).config"
Destination="Web.config" />
</Target>
Mantener la configuración de origen en Web.Base.config
. Es suficiente para habilitar la transformación y funciona para cualquier archivo de configuración XML. SlowCheetah ya no es necesario en absoluto.
http://sebnilsson.com/a5410281/asp-net-transform-web-config-with-debug-release-on-build/