Detectar el Sistema Operativo en Mono/C#

Published: Aug 28, 2014 by Noe Nieto

Chango

Me basé en esta solución:

Mi programita queda asi:

using System;

namespace UnixApp
{
    class MainClass
    {
        private static bool IsUnix () {
            return Environment.OSVersion.Platform == PlatformID.Unix;
        }

        public static void Main (string[] args)
        {
            Console.WriteLine("{0}", IsUnix()? "Unix": "Windoge");
        }
    }
}

Lo guarde en una carpeta compartida entre Fedora (anfitrion) y Windows 8.1 (En una VM de VirtualBox) con el nombre de detecta.cs. Posteriormente lo compile con Mono:

mcs detecta.cs

El programa se compilo sin ningun error. Posteriormente lo ejecute en Linux y en Windows. Aca la foto de como queda en Fedora:

Mono en Fedora 20

Y aca abajo pongo la fotito de como queda en Windows 8.1.

Exe compilado con Mono y corriendo en Windows


La imagen del chango es de https://flic.kr/p/diScsq

Share