Skip to content

Discussion: Supported frameworks #867

Closed
@bollhals

Description

@bollhals

I've created a separate issue for the discussion about the supported frameworks originating in #857
Copied the last response from @danielmarbach

Considering that .NET Framework will probably not see any updates except for security updates, and that MS is pushing full force for .NET 5 as it's next release, my personal opinion is that 7.0 should target .NET Standard 2.1, and 6.X should be the last .NET Framework supported release. This is of course always a debatable thing, but given that for example some C# 8.0 language features can only be used in .NET Core it's obvious that .NET Framework is just on life support until it's support lifetime runs out, it seems like a good cutoff point to leave behind legacy code and move the codebase forward.

At that point it'd make sense to create a separate 6.X branch for reliability/security updates and possibly minor features.

what is the benefit of targeting .NET Standard 2.1? As it stands my understanding is that .NET Standard 2.1 is basically more or less a dead end. With the introduction of .NET 5 the standards have been merged into .NET 5 TFM. But that being said .NET 5 will not even be the LTS version. Only .NET 6 will be the LTS version. So from a consumer perspective nobody but bleeding edge contributors really care in what language version the rabbitmq client is written or do they?

I would guess from a Pivotal / VMWare perspective given the broad adoption of the rabbitmq client having a broader set of compatibility makes more sense instead of too early corner the client in "just because performance" (of course this is drastically and potentially unfairly simplified for the sake of my argument ;) ). Yes .NET 4.8 is basically the last version and only .NET 4.7.2 and higher properly supports .NET Standard 2.0. Even though .NET Standard 2.0 is a little bit of a disaster and the System packages used can cause headaches and don't offer the true perf one would expect (and sometimes even cause binding redirect issues) wouldn't it from an adoption perspective as well as long tail perspective make sense to stay a bit longer on the .NET Standard 2.0 train (with or without dual targeting to .NET Framework)?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions