我需要根据 CLR 版本有条件地编译代码。
例如,有一段代码我只需要在 CLR 2 (.NET 3.5 VS2008) 中编译,而不是在 CLR 4 (.NET 4 VS2010) 中编译
当前 CLR 版本是否有可以在 #if 子句中使用的预编译器指令?
谢谢。
最佳答案
据我所知,情况并非如此。
尝试使用您自己的,例如:
#if CLR_V2
#if CLR_V4
#error You can't define CLR_V2 and CLR_V4 at the same time
#endif
code for clr 2
#elif CLR_V4
code for clr 4
#else
#error Define either CLR_V2 or CLR_V4 to compile
#endif
然后您可以在 Visual Studio 的项目属性窗口或 csc 命令行参数中定义 CLR_V2 和/或 CLR_V4。
关于c# - 是否有针对 CLR 版本的 C# 预编译器定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1879743/