Replies: 4 comments 4 replies
-
I'm using Brighter and Darker to build a distributed, consumer application that discovers and manages devices and services on a home network. My shared libraries target .NET 9.0, .NET 6.0, and .NET Standard 2.0. My mobile application targets net9.0 for IOS, Android, WinUI and MacCatalyst. My Windows desktop application targets NET 4.72 to enable support on Windows 7 SP1. I'm not your typical consumer, so I fully understand if you don't want to do the extra work to maintain support for netstandard2.0. My feedback would be to follow the xUnit versioning model for packages (see https://xunit.net/docs/getting-started/v3/migration#migrating-to-v3-packages). The xunit.v3 namespace and packages are for the version 3 rewrite. I think the Brighter codebase has evolved similarly to xunit from v9 to v10. For reference, the minimum requirements for the xunit.v3 runtime and framework libraries are below.
My feedback would be to move Brighter 10.X to packages ending in *.v10 to handle the divergence of v9 and v10 features. I would also keep the existing target frameworks listed below. However, I do understand that I'm not the typical use case and it may be a lot or work or hinder feature development.
Scenarios: For example, resolving a host (foo.local) to a collection of network addresses involves a DNS resolver handler and/or a MulticastDNS resolver handler, and results in a HostEntity, NetworkAddress entities, a DiscoveredHost event, and the network graph being updated. Queries are against the NetworkGraph using Darker. I use the command pipeline to process discovered network devices and services. I'm also writing a custom messaging gateway that forwards secure, encrypted messages to instances of my application on other devices. The messages distribute the discovered device and service information and trigger remote discovery commands (discover music library, photo library, etc.). Thanks for listening. |
Beta Was this translation helpful? Give feedback.
-
Hi @SteveBush Thanks for taking the time to write this. It is well thought out feedback. We are always grateful to receive that. I will ponder and discuss a little before replying. It does make a difference to us to know that we have folks who want to consume nestandard20, as it shifts the balance on it being worth the effort. Especially if you tell us, as you probably represent some folks who are not. So, thanks, we hear you, and will respond soon. |
Beta Was this translation helpful? Give feedback.
-
BTW, @SteveBush V10 will continue to have netstandard20 support. Our current discussion is about V11 support, which will probably be 12-18 months after V10, which should be in the next few months. The XUnit versioning strategy is worth noting, so thank you. |
Beta Was this translation helpful? Give feedback.
-
Our internal libraries are moving toward cross compiling for .NET Framework 4.8 and .NET 9 Support packages, such as Polyfill can help with supporting many new language features in the Framework build, and compile switches can provide ways to supply new API or implementations where only new .NET support is available (like async disposable, etc.) IMO, .NET Standard is an obsolete way to support multiple target frameworks and only hobbles the ability to improve the code. However, as a publicly available library, I can see including .NET Standard as a support framework for any legacy users who are not capable/willing to drop the .NET Standard target. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
There are a lot of niggles around our continued support for netstandard20. To name the most painful of them:
Now we could work around this. We could use polyfils to fix the missing language features, and we could just drop support gradually, as an assemblies dependencies drop netstandard20, we follow along. That might allow us to keep the core on netstandard20 longer.
But the real question here is: is it worth it?
Do we exist in scenarios where the folks who use us need netstandard, and if they do, could persist on v9
Beta Was this translation helpful? Give feedback.
All reactions