.net is a good platform, but the real problem is you have to wait for MS to develop something. For example before "asp.net mvc" there is no option to use mvc in MS world.
For me learning python/django was not a big pain; but running them on ubuntu is a real pain; and i think this is true for every ms developer who want to change his platform.
On linux platform options are great and there are lots self motivated developers and fun projects which is not true in the case of MS.
One more thing - lots of start-ups work on the non ms platform. Once people talk about asp.net mvc they only talk about http://stackoverflow.com/, but we can find more successful example in rails, or django or php; which makes every ms developer on back-foot.
PS: I love c#, asp.net mvc and VS as a developer tools.