fsprojects / fsprojects/Paket

Paket local does not work with new csproj format

Open
#3,116 16 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

Given a project using the new csproj format. When a paket.local file is enabled, pointing one of the dependencies to a local package, the new csproj still uses the non-local package.

Repro steps

A repro repository is uploaded at https://github.com/KDISim/PaketNewCsProjIssue

The repo consists of two solutions. Use the solution under source/MyTests/MyTests,sln.
The solution has two csproj projects, one using the old project format, and one using the new csproj format. Each project as a single unit test, both these tests are identical.
Compile this, and you see the two unit tests going green.

Then rename the paket.local.txt to paket.local, do a paket restore, and a full rebuild.
The local package has a change that should cause both tests to go red.
But now you should see that only the test in the old csproj project goes red, the one in the new csproj stays green - indicating it doesn't use the local package, but still uses the non-local.

If I check the csproj files using the MSBuild Structured log viewer, it also looks like the new csproj format doesn't evaluate to use the local package.

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 uploaded PaketNewCsProjIssue repository and the solution under source/MyTests/MyTests.sln. Compare paket restore and MSBuild Structured Log Viewer evaluation for the old and new csproj projects after renaming paket.local.txt to paket.local. Done means both identical unit tests use the local package and turn red after a full rebuild.

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.