Hoy comencé a jugar con las transformaciones web.config
en VS 2010. Para empezar, intenté el mismo ejemplo de hello world que aparece en muchas de las publicaciones de blog en este tema - actualizando una cadena de conexión.web.config transforma no se aplica ni en publicar ni en crear paquete de instalación
Creé el ejemplo mínimo que se muestra a continuación (y similar al que se encuentra en this blog). El problema es que cada vez que hago clic derecho -> "Publicar", o hago clic con el botón derecho en -> "Build Deployment Package" en el archivo .csproj, no obtengo el resultado correcto. En lugar de un web.config transformado, obtengo no web.config, y en su lugar se incluyen los dos archivos de transformación.
¿Qué estoy haciendo mal? ¡Cualquier ayuda recibida con gratitud!
Web.config:
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<add name="ConnectionString"
connectionString="server=(local); initial catalog=myDB;
user=xxxx;password=xxxx" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Web.debug.config:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="ConnectionString"
connectionString="server=DebugServer; initial catalog=myDB;
user=xxxx;password=xxxx"
providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
Web.release.config:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="ConnectionString"
connectionString="server=ReleaseServer; initial catalog=myDB;
user=xxxx;password=xxxx"
providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
¿Hay algún efecto secundario al eliminar el atributo de espacio de nombres xml? Obtuve los mismos problemas que tú y me gustaría adoptar la misma estrategia de reparación que tú, pero solo tengo curiosidad por saber si romperá un sitio web heredado de .NET 2.0. – SpaceBison
Tengo el mismo problema. problema, pero mi nodo de configuración en web.config no tiene un espacio de nombres definido –
@SpaceBison - Según [esta publicación] (http://weblogs.asp.net/scottgu/432077), el espacio de nombres es innecesario. De hecho, eliminarlo repara intellisense. – NightOwl888