fsprojects / fsprojects/Paket

Paket tries to resolve wrong dependecy group

Open
#1,926 1 comment 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 trying to install the nuget package "Google.Apis.AdSense.v1_4" on .Net 4.5, Paket fails with unmet dependencies. This seems to be due to a very unusual targetFramework definition:

      <group targetFramework=".NETStandard1.3">
        <dependency id="Google.Apis" version="1.16.0" />
        <dependency id="Google.Apis.Auth" version="1.16.0" />
      </group>
      <group targetFramework=".NETPortable0.0-Profile259">
        <dependency id="Google.Apis" version="1.16.0" />
        <dependency id="Google.Apis.Auth" version="1.16.0" />
      </group>
      <group targetFramework=".NETPortable0.0-Profile328">
        <dependency id="Google.Apis" version="[1.10.0]" />
        <dependency id="Google.Apis.Auth" version="[1.10.0]" />
      </group>

The dependencies from ".NETPortable0.0-Profile328" are used, but they are invalid. Instead, the dependencies from ".NETPortable0.0-Profile259" are the desired ones.

Repro steps
  1. Check out https://github.com/pdfforge/paket-bugreport
  2. Call paket install
Expected behavior

Actually, I do not know if this is a correct way to define the dependencies, but the desired behaviour would be to reference Google.Apis 1.16

Known workarounds

Right now, I don't know of any. I will post an issue for that on the Google project itself to check if the targetFramework definition is made properly.

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 by checking out the linked pdfforge/paket-bugreport repository and running paket install to reproduce the unmet dependency error. Trace how Paket selects between the .NETPortable0.0-Profile259 and Profile328 groups; done means the install resolves Google.Apis and Google.Apis.Auth at version 1.16.0 for this case.

Written by the indexing model from the issue text.

Assessment

Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.