【问题标题】:How to determine if my mono application is run in a Mac environment? [duplicate]如何确定我的单声道应用程序是否在 Mac 环境中运行? [复制]
【发布时间】:2019-06-07 08:24:14
【问题描述】:

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

我用它来确定操作系统:

“环境.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?

【问题讨论】:

    标签: macos mono


    【解决方案1】:

    System.Runtime.InteropServices 中有RuntimeInformation 类:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-17
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多