Some communities are filled with people who are looking to innovate and take every opportunity to do so. Others are filled with people who want to make a buck and are acutely aware of what their time is worth. C# has always felt like the latter to me.
There's nothing wrong with it, it's just the way it is.
Ruby has a massive community filled with people who are constantly innovating. It certainly doesn't get in your way more than C# does, so that's not the difference between them. Rails even has 'convention over configuration', so the fact that someone else will probably re-do your work better later is also not the issue.
My experience in .NET has been that, while there are communities of developers providing how-tos, tutorials and code samples, the community as a whole is more closed off. I can often find plugin solutions to problems but, in general, it feels like I'd better have my wallet ready.
The major difference, I think, is that with .NET you are buying into an entire ecosystem and a pretty expensive one at that. This reduces the impact of the lone developer who is far more willing to share his code.
I know you can get into .NET for free/cheap but a lot of the allure is the toolset.