Conditional compilation for .NET 4

MMind picture MMind · Feb 3, 2011 · Viewed 10.2k times · Source

Possible Duplicate:
Conditional compilation and framework targets

I have some code that works in .NET 4, but it does not work in .NET 3.5. In .NET 3.5 it requires to use interop calls to Windows.

I would like using a "ifdef" to use a different code path in both cases (eventually I will deprecate the .NET 3.5 code).

Is there a pre-defined directive value to identify when the code is compiled with .NET 4?

Is there a good link with all the predefined directives (DEBUG, TRACE, etc.)? The page below only gives the directives, but not the standard predefined values:

C# Preprocessor Directives

Answer

Chingiz Musayev picture Chingiz Musayev · Feb 3, 2011

I think this is what you are looking for:

#if NET40   
...  
#elif NET35  
...  
#else NET20  
...  
#endif