I work with .NET for my real job. You can still code for Linux in C# and get a lot of productivity. I'm working on a network manager dbus plugin for nGhost written in c# using monodevelop. I like monodevelop a lot. It's not as fancy as VS2008, but it does a lot of the same things well, and some things even better.
nGhost is written almost completely in c++. But addons can be in any language a developer see's most productive. For c++ you can either use monodevelop or kdevelop.
If you do feel like writing anything for nGhost using c#, let me know, I've spent a lot of time creating client assemblies that will help you out a lot.