Compilación condicional para .NET 4 [duplicado]

Posible duplicado:
Compilación condicional de C # y objetivos marco

Tengo un código que funciona en .NET 4 pero no funciona en .NET 3.5, en .NET 3.5 requiere el uso de llamadas de interoperabilidad a Windows.

Me gustaría usar un "ifdef" para usar una ruta de código diferente en ambos casos (eventualmente desaprobaré el código .NET 3.5).

¿Existe un valor de directiva predefinido para identificar cuando el código se compila con .NET4? ¿Existe un buen vínculo con todas las directivas predefinidas (DEBUG, TRACE, ...)? El siguiente enlace solo proporciona las directivas, pero no los valores predefinidos estándar:

http://msdn.microsoft.com/en-us/library/ed8yd1ha(v=VS.100).aspx

Respuestas a la pregunta(2)

Su respuesta a la pregunta