fsprojects / fsprojects/Paket

net47 moniker skips netstandard2.0 dependencies

Open
#2,986 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug resolution
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Description

When depending on Microsoft.Extensions.Configuration for net47, Paket skips transitive dependency Microsoft.Extensions.Configuration.Abstractions.

Repro steps

Please provide the steps required to reproduce the problem

  1. Create paket.dependencies:
source https://api.nuget.org/v3/index.json
framework net47
nuget Microsoft.Extensions.Configuration
  1. Run paket.exe update
Expected behavior

paket.lock indicates:

  • a dependency on Microsoft.Extensions.Configuration 2.0
  • a transitive dependency on Microsoft.Extensions.Configuration.Abstractions 2.0
Actual behavior

paket.lock indicates no transitive dependencies:

RESTRICTION: == net47
NUGET
  remote: https://api.nuget.org/v3/index.json
    Microsoft.Extensions.Configuration (2.0)
Known workarounds

Set framework to net47, netstandard2.0.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the paket.dependencies reproduction and run paket.exe update for net47, then inspect how the generated paket.lock resolves net47 and netstandard2.0 dependencies. Done means the lock file includes Microsoft.Extensions.Configuration.Abstractions 2.0 transitively without requiring the netstandard2.0 workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.