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 4 months ago • 1 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