1

Monoを使用して現在のOSアーキテクチャを取得するにはどうすればよいですか?

4

1 に答える 1

6

これは可能かもしれません

これを行う方法はありません。適切なプレーンなJane.NETであり、Environment(これがどこにあると予想されるか)はそれを公開しません。

ただし、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 に答える