Oggi ho iniziato a giocare con le trasformate web.config
in VS 2010. Per cominciare, ho tentato lo stesso esempio ciao mondo che presenta in molti post del blog su questo argomento: aggiornamento di una stringa di connessione.trasformazioni web.config non applicate su entrambi i pacchetti di installazione di pubblicazione o build
Ho creato l'esempio minimo mostrato di seguito (e simile a quello trovato in this blog). Il problema è che ogni volta che faccio clic con il pulsante destro del mouse -> "Pubblica" o facendo clic con il pulsante destro del mouse -> "Crea pacchetto di distribuzione" nel file .csproj, non ottengo l'output corretto. Piuttosto che un web.config trasformato, sto ricevendo no web.config, e invece i due file di trasformazione sono inclusi.
Cosa sto sbagliando? Qualsiasi aiuto ricevuto con gratitudine!
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>
Esistono effetti collaterali nella rimozione dell'attributo dello spazio dei nomi xml? Ho gli stessi problemi che ho avuto e vorrei adottare la stessa strategia di correzione che avevi fatto, ma solo curioso di sapere se si romperà un sito Web .NET 2.0 legacy già obsoleto .... – SpaceBison
Ho lo stesso problema, ma il mio nodo di configurazione in web.config non ha uno spazio dei nomi definito –
@ SpaceBison - Secondo [questo post] (http://weblogs.asp.net/scottgu/432077), lo spazio dei nomi non è necessario. In effetti, rimuoverlo risolve intellisense. – NightOwl888