是否可以使用 预处理器
区分 C#
中的操作系统?喜欢:
#if OS_WINDOWS
//windows methods
#elif OS_MAC
//mac methods
#elif OS_LINUX
//linux methods
#endif
最佳答案
您所要求的是可能的,但需要一些工作。
在您的
中定义一个预处理器变量csproj
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT' "> <DefineConstants>_WINDOWS</DefineConstants> </PropertyGroup>
在您的代码中使用它
#if _WINDOWS // your windows stuff #else // your *nix stuff #endif
我发现当您拥有依赖于操作系统的常量(例如 native 库名称)时,此技术很有用
关于C#预处理器区分操作系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30153797/