C#コードでモノを実行しているOSを特定する方法はありますか?こんにちはOSでC#&mono?
ある種のHello Worldでは、出力として固定文字列を使用するのではなく、現在のOSを使用していますか?
C#コードでモノを実行しているOSを特定する方法はありますか?こんにちはOSでC#&mono?
ある種のHello Worldでは、出力として固定文字列を使用するのではなく、現在のOSを使用していますか?
試しくださいあなたのコードは、モノまたはMS.NET下で実行された場合にも検出することができますSystem.Environment.OSVersion
:
if (Type.GetType("Mono.Runtime") != null)
{
// we're on Mono
IsMono = true;
}
else
IsMono = false;
このリンク:使用
:http://mono-project.com/FAQ:_Technical#How_to_detect_the_execution_platform_.3F
このコードを与えますシステム;
class Program {
static void Main()
{
int p = (int) Environment.OSVersion.Platform;
if ((p == 4) || (p == 6) || (p == 128)) {
Console.WriteLine ("Running on Unix");
} else {
Console.WriteLine ("NOT running on Unix");
}
}
}
高速応答のおかげで、Environment.OSVersionは実際に実行しているOSを返します。 –
あなたのコードが本当に古いMono上で動作するかもしれないなら、それはUnix用にPlatformIDとして128を使用したことに注意してください。 – skolima