如何确定我的单声道应用程序是否在Mac环境中运行?

时间:2019-06-07 08:24:14

标签: macos mono

我正在构建.Net桌面应用程序(C#),以便在不同平台上使用mono执行。但是代码的某些部分仅需要在特定的操作系统中运行。

我用它来确定操作系统:

“ Environment.OSVersion.Platform”

//Reproducible demo code.
using System;

public class Program
{
    public static void Main()
    {
        Console.WriteLine(Environment.OSVersion); 
        Console.WriteLine(Environment.MachineName); 
        Console.WriteLine(Environment.OSVersion.Platform);

    }
}

平台解析为

Windows : Win32NT

Ubuntu : Unix

Mac : Unix

问题是与Linux和Mac冲突。 Java中类似的命令“ os.name”实际上为我提供了macOS名称,而mono至少在这些命令上似乎并没有区分Linux和Mac。

我如何确定执行环境是macOS?

1 个答案:

答案 0 :(得分:0)

System.Runtime.InteropServices中有RuntimeInformation类:

if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
    // macOS
}