2012-06-12 36 views

回答

6

這個可能是可能的。

沒有辦法做到這一點是正確的純淨的Jane.NET,Environment(你期望這是什麼)不公開它。

但Mono有Mono.Unix.Native命名空間(您需要添加對Mono.Posix.dll的引用),其中有Syscall class。這暴露了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機器可以方便地測試一致性;但是如果有任何問題,這將是一種做法。