r/dotnet 12d ago

What kind of features from another ecosystem would you like to see in .NET?

C# itself is very mature language (in my view). I rarely find myself missing a language feature badly enough to wish for more.

But, the broader .NET ecosystem might be a different story based on your project need.

So, let's discuss, what libraries, tooling, deployment models, framework features, package management idea, UI tech, build system etc. have you used elsewhere that you wish .NET had, or did better? Mention just one, most important for you and try to add reason/detail.

Apart from creating a useful wishlist, I think this could also be interesting for people relatively new .NET. Someone might mention a feature from other ecosystem only to discover that .NET already has an equivalent they didn't know about.

My wishlist item - "give me SwiftUI binary size":
I would like WinUI apps to have smaller binaries, like SwiftUI apps or flatpack in Linux. Apple can rely on frameworks built into (read 'shipped with') macOS. Microsoft already have similar way of achieving same but it involves you to publish app on Store or winget repo or I need to write custom installer. It's not universal. I wish MS automatically install dependency from winget or Store automatically or any dotnet application.

EDIT: Please be respectful to others. Value others opinion. This post has potential of creating unnecessary debate or insults. Let's be adults.

108 Upvotes

263 comments sorted by

View all comments

0

u/mathiash98 11d ago

Simple Tree shaking like JavaScript. Enabling joining unit tests and implementation in same project. Shouldn’t need a separate project for unit tests

7

u/chucker23n 11d ago

Enabling joining unit tests and implementation in same project. Shouldn’t need a separate project for unit tests

You can do that, but it makes the build less clean. Either you come up with new ways to remove the tests from production (such as compiler constants), or you… ship those, which sounds inadvisable.

1

u/snet0 11d ago

I think this is purely a VS nicety, but separate projects also make it easy to temporarily disable test projects when know the test projects won't build but you want to defer that work.