| using System; | |
| namespace CSharp | |
| { | |
| public class CSharpApp | |
| { | |
| const string InfoCompiler = "INFO:compiler[Microsoft " | |
| #if PlatformToolsetv100 | |
| + "Visual Studio" | |
| #elif PlatformToolsetv110 | |
| + "Visual Studio" | |
| #elif PlatformToolsetv120 | |
| + "Visual Studio" | |
| #elif PlatformToolsetv140 | |
| + "Visual Studio" | |
| #elif PlatformToolsetv141 | |
| + "Visual Studio" | |
| #elif PlatformToolsetv142 | |
| + "Visual Studio" | |
| #elif PlatformToolsetv143 | |
| + "Visual Studio" | |
| #else | |
| + "unknown" | |
| #endif | |
| + "]"; | |
| const string InfoPlatform = "INFO:platform[Windows]"; | |
| const string InfoArchitecture = "INFO:arch[" | |
| #if Platformx64 | |
| + "x64" | |
| #elif Platformx86 | |
| + "x86" | |
| #elif PlatformxWin32 | |
| + "Win32]" | |
| #else | |
| + "unknown" | |
| #endif | |
| + "]"; | |
| const string InfoCompilerVersion = "INFO:compiler_version[" | |
| #if PlatformToolsetv100 | |
| + "2010" | |
| #elif PlatformToolsetv110 | |
| + "2012" | |
| #elif PlatformToolsetv120 | |
| + "2013" | |
| #elif PlatformToolsetv140 | |
| + "2015" | |
| #elif PlatformToolsetv141 | |
| + "2017" | |
| #elif PlatformToolsetv142 | |
| + "2019" | |
| #elif PlatformToolsetv143 | |
| + "2022" | |
| #else | |
| + "9999" | |
| #endif | |
| + "]"; | |
| static void Main(string[] args) | |
| { | |
| // we have to print the lines to make sure | |
| // the compiler does not optimize them away ... | |
| System.Console.WriteLine(InfoCompiler); | |
| System.Console.WriteLine(InfoPlatform); | |
| System.Console.WriteLine(InfoArchitecture); | |
| System.Console.WriteLine(InfoCompilerVersion); | |
| } | |
| } | |
| } |