Folks stuck on legacy .NET Framework appreciate that you're targeting .NET Standard 2.0, but without access to C# 9.0 there are significant limitations in how this library can be consumed due to CS8400:
Feature 'init-only setters' is not available in C# 8.0. Please use language version 9.0 or greater.
This essentially prevents constructing any of the types from this project without reflection, so calling APIs works but mocking responses/errors does not.
A few options come to mind:
Do nothing. .NET Framework folks will find this issue closed as wontfix.
Add constructors to some/all the records so that they can be constructed in C# 8.0 without using the setters.
Use public set like we used to. Less correct; more inclusive.
Unfortunately, I think that the number of users that this affects does not outweigh the costs that adding an alternative will have, either in maintenance or in consumption.
Folks stuck on legacy .NET Framework appreciate that you're targeting .NET Standard 2.0, but without access to C# 9.0 there are significant limitations in how this library can be consumed due to CS8400:
This essentially prevents constructing any of the types from this project without reflection, so calling APIs works but mocking responses/errors does not.
A few options come to mind:
wontfix
.set
like we used to. Less correct; more inclusive.Thoughts?