6

Ho bisogno di creare più versioni del mio progetto utilizzando la configurazione proprio come facciamo con #define, #if, #endif.Creare più versioni di un progetto in Visual Studio utilizzando Build Configurations

Il lato negativo dell'utilizzo di queste direttive per il preprocessore è che ho bisogno di definire i simboli in quasi tutti i file del progetto, ma voglio gestire questa cosa con le mie configurazioni di build.

Non sono nemmeno sicuro se Build Configurations mi aiuterà a farlo.

Quello che voglio è se creo una configurazione con il nome di "sviluppo" e l'altro con il nome "QA", il mio codice sarà simile:

if #Development or if $QA 

Gentilmente mi guida verso il raggiungimento di questo.

risposta

9

Configuration Manager esiste per questo motivo.

  • Vai Configuration Manager e creare una nuova configurazione copia dalla configurazione DEBUG predefinita
  • Nome del SVILUPPO configurazione e si applicano a tutti i progetti
  • selezionare Configurazione come attiva la configurazione SVILUPPO (dovrebbe già essere il uno attivo)
  • Vai alla pagina delle proprietà di ciascun progetto che richiede #if DEVELOPMENT compilazione condizionale e inserire il simbolo di sviluppo nel primo testo della scheda BUILD
  • 012.

Ora ognuno dei vostri progetti può usare il #if SVILUPPO direttiva del preprocessore

Se avete bisogno di questo anche per il rilascio ripetere i passaggi precedenti, ma copiare dalla configurazione di rilascio predefiniti e dare un nome diverso

Ora commutazione da una configurazione con o senza il simbolo DEVELOPMENT definito potrebbe essere fatto direttamente dallo strumento combinato di Solution Configurations presente nella barra degli strumenti standard di Visual Studio senza modificare ciascun progetto.

È possibile anche visualizzare MSDN articolo How to: Create and Edit Configurations

+0

Grazie Steve, perché dovrei copiare le mie configurazioni da configurazioni predefinite – MegaMind

+0

Perché la configurazione di DEBUG contiene le impostazioni necessarie durante la sessione DEBUG , quindi per la configurazione RELEASE (ad esempio i simboli DEBUG e TRACE). Se inizi da zero rischi di perdere la funzionalità fornita dai simboli mancanti – Steve

+0

Non sono sicuro del terzo passaggio, gentilmente rendilo più chiaro. Non riesco a trovare la scheda COMPILE nelle proprietà del progetto – MegaMind

0

Oltre alla soluzione di Michael Freidgeim's è possibile utilizzare l'attributo conditional per le operazioni centrali initalisation o altre funzioni vuote:

[Conditional("DEVELOPMENT")] 
public static void InitDemo() 
{ 
     Models.LogFile.ErrorLog("This is a Development Version!"); 
     // init settings 
} 

trovato qui: http://msdn.microsoft.com/de-de/library/4xssyw96%28v=vs.80%29.aspx