The larger Mono projects on Linux are built on the language and CLR features implemented in Mono; and don't rely on Microsoft libraries like WinForms. And as far as language features are concerned, the downloadable Mono compiler even implements part of the C# 4 spec.
Also, the popular Linux/Mono apps hardly work on Windows.
Actually I need not have replied; "....as it'll always be lacking in features compared to Microsoft's implementation" -- i just realized this was pure trolling. Try /.
How can this possibly be a good thing? It either means mono is a poor .NET substitute, or the linux mono apps are less cross platform than apps written in other languages - also a bad thing.
The problem is that .net is such a vast 'hunk of stuff' that there isn't any way for a single person or a small team to implement is perfectly and the imperfect implementations are fundamentally flawed - ie, memory leaks and strange bugs making mono apps fundamentally unreliable.
That said, I don't think I'll ever understand the Mono project. As a former C# coder (back in 2004), the project was doomed to failure from the getgo. No .NET developer in their right mind would use it as it'll always be lacking in features compared to Microsoft's implementation.
It's such a sad project because Microsoft gives it no love, yet has no problem using it as an example of how "open" their platform is. Seems like a complete waste of talent to me.