Paket icon indicating copy to clipboard operation
Paket copied to clipboard

net8.0-windows: Most transitive dependencies are not included in paket.lock

Open sajagi opened this issue 1 year ago • 2 comments

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.

sajagi avatar Oct 15 '24 08:10 sajagi

Probably related to DotNet8WindowsVersions not having generic V10 (and possibly V7 and V8 since these are not officially supported but work most time nevertheless).

sajagi avatar Oct 15 '24 10:10 sajagi

This is still an issue with Paket 9.0.2

sajagi avatar Dec 11 '24 10:12 sajagi

No longer an issue in 10.0.0-alpha011, closing.

EDIT: It is still an issue.

sajagi avatar Dec 05 '25 16:12 sajagi

It's still an issue, unfortunately.

sajagi avatar Dec 05 '25 16:12 sajagi