macos - 如何确定我的单声道应用程序是否在 Mac 环境中运行?
问题描述
我正在构建一个 .Net 桌面应用程序 (C#),以便在不同平台上使用单声道执行。但是代码的某些部分只需要在特定的操作系统中运行。
我用它来确定操作系统:
“环境.OSVersion.平台”
//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?
解决方案
System.Runtime.InteropServices
里面有课RuntimeInformation
:
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
// macOS
}
推荐阅读
- python-3.x - 使用 Cython 和外部多线程 C 库时的未定义行为
- android - 如何让安卓应用只运行后台服务,不能启动?
- javascript - 通过谷歌表格发送电子邮件的谷歌脚本冗余措施失败
- c++ - 在 C++ 中复制 __PRETTY_FUNCTION__ 的行为
- mysql - 跨多个表优化 INNER JOIN
- c# - IIS 如何知道如何启动 .NET Web 应用程序
- c# - 从 Azure Function .Net 调用没有 DNS 条目的 URL
- python - ImportError:无法导入名称“阶乘”
- c# - 为什么在特定环境下认证过程中调用 api token 会失败?(400 错误)
- excel - VBA 提取两个字符之间的字符串