views:

199

answers:

1

I have several classes in a project which need to only be in certain builds of the application which are currently not ready for release or debug.

To prevent these classes from being used, I want to set around them this:

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

Unfortunately, I don't know how to setup a project wide #define.

Is there a functionality in Visual Studio to set project wide definitions.

If there is, though I don't need it right now, is there a functionality to set solution wide definitions?

If there is no functionality for such (seeing as C# does not have include files, I suppose it's possible), is there any method or plugin of doing this functionality without using the command line compiler and /D?

+6  A: 

You can do that in the project properties, but not in source code.

Project Properties => Build => Conditional compilation symbols

You can specify whichever symbols you need (space delimited, but IIRC is is quite forgiving). Note that DEBUG and TRACE can also be toggled with a checkbox.

I have some projects with multiple "release" build configurations, with different symbols in each (for building 2.0 vs 3.0 vs 3.5 versions - see <DefineConstants> here)

Marc Gravell
Right in front of my face! I never knew that's what that was for, or how to use it, thanks!
Aequitarum Custos