Domanda

Sto usando VS2010 C # .NET 3.5 e le impostazioni delle applicazioni (il file Settings.settings). Quello che voglio fare è di avere diverse impostazioni per i miei ambienti di sviluppo e di produzione senza dover lettiera il mio codice con istruzioni condizionali controllo per la modalità di debug. Qual è l'approccio comune a questo problema?

È stato utile?

Soluzione

Oppure si può semplicemente creare file di configurazione separati e li chiamano:

Release.settings

Debug.settings

quindi di impostazione condizionale eventi di generazione che copiare il file .config appropriato per Settings.Settings


if $(ConfigurationName) == Debug xcopy debug.settings settings.settings
if $(ConfigurationName) == Release xcopy release.settings settings.settings

Altri suggerimenti

Supponendo che vuoi dire i valori delle impostazioni, penso che il modo migliore per farlo è quello di mettere tutti i valori di ambiente di produzione in un commento nel file delle impostazioni. O solo impostarle durante la distribuzione dell'applicazione.

Non c'è alcun meccanismo reale incorporato per questo in .Net se è quello che stai cercando.

Al mio attuale lavoro abbiamo un piccolo strumento da riga di comando in cui saranno definiti tutti i valori di destra per un determinato ambiente. La configurazione viene eseguita in un database.

Al mio lavoro precedente abbiamo mai copiato il file di configurazione per la directory di distribuzione, ma ha cambiato i file manualmente, se necessario.

Non escludere il nostro file web.config sui sistemi di produzione. Se vengono aggiunti ulteriori impostazioni / chiavi, abbiamo incollarli in al momento della pubblicazione.

Se si utilizza progetti di distribuzione web, è possibile impostarlo in modo che le diverse parti del web.config verranno sostituiti. Si può leggere di più su di loro qui: http: // blog. asp.net/scottgu/archive/2005/11/06/429723.aspx .

Un altro approccio, che in realtà prendiamo al mio lavoro attuale è quella di avere più file web.config - 1 per ogni ambiente (ad esempio web.config, web.config.production). Poi, quando costruiamo per la distribuzione, usiamo MSBuild per scambiare automaticamente web.config.production come web.config.

Credo che questo è la mancanza di file xxx.config. Ecco perché io uso proprio responsabile di configurazione che può essere utilizzato con diverse configurazioni su ogni macchina in cui è installata l'applicazione / eseguiti.

usiamo uno script NAnt per costruire la nostra soluzione, sostituire i valori di impostazione nel file di configurazione, eseguire i test e pubblicare.

E 'abbastanza semplice, una volta che hai impostato in su una o due volte.

È possibile condizionale includere elementi di processo di generazione, come

<ItemGroup Condition=" '$(Configuration)' == 'Debug' " ...

https://stackoverflow.com/a/2093289/254109

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top