Open xperiandri opened 1 year ago
@xperiandri why is there a need for separate group for each target runtime? AFAIU paket would just work with a single group and no framework restriction.
Because if we allow System.Reactive
to be 6.0 we want:
net6.0
. As System.Reactive
package 5.0 targets only net5.0
System.Reactive
6.0Otherwise, Paket sets System.Reactive
5.0 even for net6.0 which is very strange
@xperiandri I may not understand properly, but I doubt the maintainers of this repository have anything to do with the issue (unless the nuget package doesn't have the right dependencies for the targets you aim to have in your project).
It feels more like an issue, if you want to use paket, to open on paket repository, to ask what would be the right approach.
Otherwise, you can deal with nuget references manually and target framework conditionals.
In my experience, paket makes it simpler and easier to check across a repository what is going on, but this is just my experience.
I use central package management via Packages.props
like
https://github.com/xperiandri/Elmish.Uno/blob/NET_6/src/Directory.Build.targets
https://github.com/xperiandri/Elmish.Uno/blob/NET_6/src/Packages.props
Just 1 file, no tools, no learning curve, easy
I think that @xperiandri doesn't really make himself clear here. The issue, obviously, is not with Paket, but with the allowed ranges. Currently, we have a System.Reactive
version 6.0.0, which is supported for .NET 6.0 (and other sdks) and up, without further dependencies.
However: there is currently no way (unless you force it), to use version 6.0 or higher with this package. Even the latest version, 5.0.5, explicitly disallows System.Reactive 6.0.0 or up.
I doubt that has ever been the intent here. All we need is to change the deps such that there is no upperbound (unless for those frameworks where there is a maximum supported version).
Currently, System.Reactive
6.0 is supported in .NET Framework4.7.2 and up, .NETStandard 2.0, .NET 6.0 and .NET 5.0.
So, the simple solution (forget the discussion on Paket) is to increase, or remove, the upper bound on that dependency.
Also, this wasn't always the case. For instance, the 4.5 version did not have an upper bound on System.Reactive
...
EDIT, I missed that this was already fixed meanwhile here: https://github.com/fsprojects/FSharp.Control.Reactive/pull/172.
I spent more than hour trying to override
System.Reactive
package version fornet6.0
having: dependencies
and
references
What is the benefin of using it is even simple things require tons of code?