Dotnet and java usually have similar libraries for most things, but sometimes it comes down to how different they are or what they support.
Let's look at general distributed messaging abstractions.
The most modern-featureful one for dotnet I know of is MassTransit: https://masstransit.io/documentation/concepts. You can see it supports a handful of queues and some interesting patterns.
I wish more client library sets had the feature-matrix that the pulsar one does, because in practice most end up being the same: Java supports everything because it's either built in the same codebase or is the most used client and gets the most support, while the dotnet client codebase has many feature-requests or performance improvement issues, often leading to a "third-party client" being created.
Isn't not having perfect support with Apache is, in a way, a criticism of any non-JVM language? Perhaps the problem is on the other end?
We need a couple more Apache Struts and Log4J incidents for the public to realize there may be better technologies and ecosystems. Spring is very slow anyways.
How does that relate to Apache projects being somewhere between Java-centric and Java-exclusive depending on the feature? If anything, we need more decentralization, there are awesome products like NATS that offer rich and well-written client libraries in multitude of languages. More of that.
Oracle, IBM, Sun on its days, didn't set the tune of the music at Apache, as apparently Microsoft does at .NET Foundation, as per complaints of the projects that decided to withdraw from the Foundation.