The Mono Project implements tools to run ECMA CLI code on Linux, which includes code written against the Microsoft.NET platform or a number of CLI-based stacks (including our very own Gnome/Gtk# based stack).
Currently Mono consists of a runtime, a set of class libraries that are compatible with Microsoft.NET 1.1 (some chunks are compatible with 2.0) our own stack, C#, VisualBasic, JavaScript compilers and the MonoDevelop IDE.