C# 使用Mono获取Unix/Linux系统体系结构

C# 使用Mono获取Unix/Linux系统体系结构,c#,architecture,mono,C#,Architecture,Mono,如何使用Mono获得当前的操作系统架构?这是可能的 没有办法做到这一点,因为普通的Jane.NET(你希望它在哪里)没有公开它 但是Mono有Mono.Unix.Native名称空间(您需要添加对Mono.Posix.dll的引用),该名称空间具有。这暴露了,这可能会给你你想要的;在Linux/Unix版本中,这似乎不是非常标准,我也不确定Mono的规范化程度 Mono.Unix.Native.Utsname results; var res = Mono.Unix.Native.Syscall

如何使用Mono获得当前的操作系统架构?

这是可能的

没有办法做到这一点,因为普通的Jane.NET(你希望它在哪里)没有公开它

但是Mono有
Mono.Unix.Native
名称空间(您需要添加对Mono.Posix.dll的引用),该名称空间具有。这暴露了,这可能会给你你想要的;在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\u 64
。我手头没有Linux机器来测试一致性;但如果真的有办法的话,这就是解决问题的办法。

这是可能的

没有办法做到这一点,因为普通的Jane.NET(你希望它在哪里)没有公开它

但是Mono有
Mono.Unix.Native
名称空间(您需要添加对Mono.Posix.dll的引用),该名称空间具有。这暴露了,这可能会给你你想要的;在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\u 64
。我手头没有Linux机器来测试一致性;但如果真的有,这就是解决问题的方法