net8.0-windows: Most transitive dependencies are not included in paket.lock
Description
When using framework: net8.0-windows, some transitive dependencies are not included in paket.lock.
This also means paket show-installed-packages --all won't show transitive packages.
Reproducible with paket 8.0.3 and 8.1.0-alpha004.
Repro steps
Using the following paket.dependencies file:
framework: net8.0-windows
source https://api.nuget.org/v3/index.json
nuget Newtonsoft.Json.Bson
will result in following paket.lock file:
RESTRICTION: == net8.0-windows7.0
NUGET
remote: https://api.nuget.org/v3/index.json
Newtonsoft.Json.Bson (1.0.2)
Compare this to e.g. net6.0-windows (expected behavior):
RESTRICTION: == net6.0-windows7.0
NUGET
remote: https://api.nuget.org/v3/index.json
Newtonsoft.Json (13.0.3)
Newtonsoft.Json.Bson (1.0.2)
Newtonsoft.Json (>= 12.0.1)
Known workarounds
Using net8.0 instead of net8.0-windows works as expected, but it obviously includes other packages needed for other platforms.
net8.0-windows10.0.17763.0 works as expected.
Some transitive dependencies are, rarely, included.
Probably related to DotNet8WindowsVersions not having generic V10 (and possibly V7 and V8 since these are not officially supported but work most time nevertheless).
This is still an issue with Paket 9.0.2
No longer an issue in 10.0.0-alpha011, closing.
EDIT: It is still an issue.
It's still an issue, unfortunately.