2010-01-03 11 views
19

Ho diverse classi in un progetto che devono essere solo in alcune build dell'applicazione che al momento non sono pronte per il rilascio o il debug.Come impostare #define del progetto in C#

Per evitare che queste classi venga utilizzato, voglio impostare intorno a loro questo:

#if USE_MYCLASS 
// Code here... 
#endif 

Purtroppo, non so come impostare un progetto di ampio #define.

Esiste una funzionalità in Visual Studio per impostare le definizioni del progetto.

Se c'è, anche se non ne ho bisogno in questo momento, esiste una funzionalità per impostare le definizioni delle soluzioni?

Se non esiste alcuna funzionalità per tale (visto che C# non include i file include, suppongo sia possibile), c'è qualche metodo o plugin per fare questa funzionalità senza usare il compilatore della riga di comando e/D?

risposta

31

È possibile farlo nelle proprietà del progetto, ma non nel codice sorgente.

Proprietà progetto => Costruire => condizionali simboli di compilazione

È possibile specificare a seconda di quale dei simboli è necessario (spazio delimitato, ma IIRC è abbastanza indulgente). Si noti che DEBUG e TRACE possono anche essere attivati ​​con una casella di controllo.

devo alcuni progetti con molteplici "release" costruire configurazioni, con simboli diversi in ciascuna (per la costruzione di 2,0 vs 3,0 vs 3,5 versioni - vedi <DefineConstants>here)

+1

Proprio di fronte alla mia faccia! Non ho mai saputo che fosse per quello, o come usarlo, grazie! –

+0

Grazie! Era proprio davanti alla mia faccia! – Xonatron

+0

"È possibile farlo nelle proprietà del progetto, ma non nel codice sorgente." Questa è in realtà una limitazione spiacevole. Essere in grado di farlo in codice è importante per comodità e visibilità. –