C# 单编译器指示

C# 单编译器指示,c#,compiler-construction,mono,C#,Compiler Construction,Mono,由于Mono不支持.NET中的某些windows函数,是否有任何预编译器派生代码表明该编译器是Mono编译器 例如,在VisualStudio中有一个衍生工具#DEBUG和#TRACE,如果编译器是mono,是否有类似“mono”的衍生工具会自动添加 还是我们必须自己添加导数并根据需要进行更改?我认为Mono编译器定义了Monos 因此: 应该可以工作…为什么要在编译时而不是在运行时决定这一点?您可以使用mono编译并在Windows上运行(带或不带mono)。您还可以使用VisualStudi

由于Mono不支持.NET中的某些windows函数,是否有任何预编译器派生代码表明该编译器是Mono编译器

例如,在VisualStudio中有一个衍生工具
#DEBUG
#TRACE
,如果编译器是mono,是否有类似“mono”的衍生工具会自动添加


还是我们必须自己添加导数并根据需要进行更改?

我认为Mono编译器定义了Monos

因此:


应该可以工作…

为什么要在编译时而不是在运行时决定这一点?您可以使用mono编译并在Windows上运行(带或不带mono)。您还可以使用VisualStudio进行编译,并在linux、mac和Windows上运行。因此,检查正在使用的编译器可能不会帮助您解决您试图解决的问题
#if __MonoCS__