A Senior programmer facing problem with mono and it remains unsolved. This leading the programmer shifting from Microsoft .net / mono to dotGNU portable.NET. As many people knows what .net is about, if you don't, that means you are either not in this field or outdated. Anyway may be you never heard about mono or dotgnu.
Mono is a project led by Novell, Inc. (formerly by Ximian) to create an ECMA standard compliant (Ecma-334 and Ecma-335), .NET compatible set of tools, including among others a C# compiler and a Common Language Runtime. Mono can be run on Linux, FreeBSD, UNIX, Mac OS X, Solaris and Windows based computers.
Quote from wikipedia
DotGNU Portable.NET, an implementation of the Common Language Infrastructure (CLI), more commonly known as .NET, includes everything that you need to compile and run C# and C applications that use the base class libraries, XML, and Systems.Windows.Forms. Currently supported CPUs: x86, PPC, ARM, PARISC, s390, ia-64, Alpha, MIPS, Sparc. Supported operating systems: GNU/Linux (on PCs, Sparc, iPAQ, Sharp Zaurus, PlayStation 2, Xbox,...), *BSD,Cygwin/Mingw32, Mac OS X, Solaris, AIX and Microsoft Windows.
Quote from wikipedia
It seems that mono project and dotGNU are the same, both are open source, but after reading wikipedia, i discover that mono have complicated licensing by Novell, where dotGNU is free software and have complicated philosophy behind it (This page
shows you the danger of using microsoft .net and explain their objective of this dotGNU project)
To get dotGNU installed in debian is easy, apt-get install pnet. But if you want it work under RPM based Linux like Fedora or Centos, you need to compile yourself. (Bare in mind, the binaries from apt-get is not uptodate.)
To make it work at least you need treecc, pnet and pnetlib. You can download
gcc gcc-c++ ncurses ncurses-devel flex byacc
Bellow are the simple script to ease the newcomers to try out if you are rpm based linux user. If you successfully install, the snake game will be running.
echo "Solves the Dependencies"
yum install gcc gcc-c++ ncurses ncurses-devel flex byacc
echo "Compile treecc-0.3.8"
tar -zxvf treecc-0.3.8.tar.gz
echo "Compile pnet-0.7.4"
tar -zxvf pnet-0.7.4.tar.gz
echo "Compile pnetlib-0.7.4"
tar -zxvf pnetlib-0.7.4.tar.gz