Mono is definitely some great software. I downloaded and built Mono on our Asterisk server because it seemed I'd have to develop the application to handle the automated calling on Linux. Not wanting to hurt myself with PHP, Ruby or Python (time frame), I decided to continue using C# and .NET, since I knew enough about Mono to know it is cross-platform. What I wasn't prepared for is just how cross-platform it (and .NET) is. After downloading and building it, I created a "Hello, World" application in it and ran it on the Linux server. I then moved the compiled assembly to my Windows desktop and it ran with the Microsoft .NET framework! After I got home, I built one of my old programs, which had a reference to the excellent FileHelpers library. The library was probably built with Microsoft's tools, but I was able to build (and run) the application using Mono (for Windows).
That's pretty amazing, but the last part is even more amazing. I just tested the Devshock SMPP component (which was definitely built on Windows, using VB.NET), in a program I wrote using Mono on Linux. There's a text on my phone now that proves that .NET is an awesome platform, and Mono is a great cross-platform implementation of that platform. Mono rocks. Period.