I can't speak for all .net shops, but in my experience you roll your own. You sit down, discover your problem, and write a solution for whatever you need from scratch specifically tailored to your need and performance requirements. Afterward, you understand the code (and the intent behind it) very very well.
I don't lament the lack of third party frameworks. I take them as an inspiration when I find interesting ones, and I know my toolset well enough to re-work their solutions and make them my own in pretty good time.
For me, as long as whatever it is is meant to run on windows (and doesn't require native performance), C#'s sweet spot is whatever I decide it needs to be.
Having a C#-like language in which I can write code with performance comparable to native will put some icing on my cake.
Believe me, I'm a great advocate of building the thing you need rather than blinding using libraries, but there's some great stuff out there: lessc, RabbitMQ (although that works well on Windows), Riak, Postgres, neo4j, hadoop, jQuery (Microsoft saw the light on that one), elastic search, pygments. Of those, Microsoft can offer alternatives to 2 of them: MSMQ and SQL Server. The others are sufficiently costly to re-implement that you're likely to just try to work around the problem (I'd love to see someone attempt a DB with Riak-like reliability on .NET... RavenDB is not that DB.)
If you like Riak, there is a .net client library. There is a .net port of lessCSS. RabbitMQ works with .net. You can access postgres with .net. I didn't see any features of Neo4J that I can't do pretty easily with MSSQL and a custom DAL. You can talk to Hadoop from .net. I've been using jQuery with ASP.net since it was released. Elasticsearch runs on windows, and I don't see why you can't use it with a .net project. I don't really see the point of pygments, but it looks like it's pretty easy to use with IronPython.
So in those instances you have a choice. You can use those libraries/products as they stand, or you can roll your own.
I can't speak for all .net shops, but in my experience you roll your own. You sit down, discover your problem, and write a solution for whatever you need from scratch specifically tailored to your need and performance requirements. Afterward, you understand the code (and the intent behind it) very very well.
I don't lament the lack of third party frameworks. I take them as an inspiration when I find interesting ones, and I know my toolset well enough to re-work their solutions and make them my own in pretty good time.
For me, as long as whatever it is is meant to run on windows (and doesn't require native performance), C#'s sweet spot is whatever I decide it needs to be.
Having a C#-like language in which I can write code with performance comparable to native will put some icing on my cake.