Redirect not added even though it's necessary when library is built with a newer (but not required) version of a dependency.
Nobody has claimed this yet.
- Dominant language
- F#
- Stars
- 2.1k
- Forks
- 528
- Avg merge
- 1d 12m
- Merged PRs (30d)
- 54
Description
Solution S:
- Project A, L >= v1
- Project B, L == v2
S will correctly use L v2.
A is the interesting thing here. The project is built with v2, and this is
clearly indicated in the DLL so it is able to load the correct version. On the
other hand, it correctly works with v1 too, so the nuspec only states >= v1.
And here comes the problem. When adding a dependency for A, no redirect is added
for L even though we have redirects: on. This means A will try to load v2 even
if the solution requires v1 because of some other library.
As a workaround, it's possible to add nuget L redirects: force to the solution
requiring A.
I believe paket should add a redirect if the library is built with a higher
version than it requires.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The report describes Paket's redirects: on behavior for a dependency built against a newer assembly version. Start by reproducing the A/B/L scenario with redirects enabled and compare it with redirects: force; done means normal mode adds the needed redirect while preserving the >= dependency constraint.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100