I'm amazed that more people don't use Mono. Best of world to me is using Visual Studio for local development, and then deploying to a Linux server running Mono and Apache/Nginx. It's actually a lot less painful than people think, after you get ramped up a very small learning curve as to what is not supported in Mono.. And if you want to go completely free, MonoDevelop also isn't too bad, though you will find an occasional bug