[Mono-list] Determining the platform at compile and run time
Richard Torkar
richard.torkar@htu.se
Thu, 30 Oct 2003 09:39:50 +0100
On Thu, 2003-10-30 at 10:41, Jonathan Gilbert wrote:
> At 09:46 AM 29/10/2003 -0800, Jackson Harper jackson-at-ximian.com
> |mono-list subscription| wrote:
> >On Wed, 2003-10-29 at 09:33, Chris Seaton wrote:
> >> How do I know what OS my program is running on at run time? PlatformID
> >> contains no entry for any systems apart from Windows.
> >
> >http://www.nullenvoid.com/mono/wiki/index.php/DeveloperFaq?PHPSESSID=3De=
94bd3
> 73fcad70a585f9bf5bb57ba841
>=20
> This URL does not work for me in Internet Explorer:
Strange, it works for me. Anyway I think this is what Jackson wanted you
to see:
How can I tell dynamically what platform my code is running on?
This is one possible approach, contributed by Aleksey Demakov
(avd@openlinksw.com)
Type enumType =3D typeof (PlatformID);
if (Enum.IsDefined (enumType, "Unix"))
{
if (~Environment.OSVersion.Platform =3D=3D (PlatformID) Enum.Parse (enu=
mType, "Unix"))
Console.WriteLine ("Platform: Mono on Unix");
else
Console.WriteLine ("Platform: Mono on Win32");
} else
Console.WriteLine ("Platform: .NET");
/Richard
--=20
Dept. of Informatics and Mathematics
University of Trollh=E4ttan/Uddevalla
P.O. Box 957, SE-461 29 Trollh=E4ttan
Sweden