如何使用 Mono 获得当前的操作系统架构?
问问题
889 次
1 回答
6
这是可能的。
没有办法做到这一点是正确的普通 Jane .NET,环境(你期望它在哪里)不会暴露它。
但是 Mono 具有Mono.Unix.Native
命名空间(您需要添加对 Mono.Posix.dll 的引用),它具有Syscall 类。这暴露uname
了,它可能会给你你想要的;这在 Linux/Unix 版本中似乎不是很标准,我不确定 Mono 在这里做了多少标准化。
Mono.Unix.Native.Utsname results;
var res = Mono.Unix.Native.Syscall.uname(out results);
if(res != 0)
{
throw new Exception("Syscall failed!");
}
当我在我的 Mac 上运行它时,results.machine
设置为x86_64
. 我没有方便测试一致性的 Linux 机器。但如果有的话,这将是这样做的方法。
于 2012-07-22T02:44:02.507 回答