fsprojects / fsprojects/Paket

"redirects: off" still sets AutoGenerateBindingRedirects to true

Open
#4,158 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

The paket install command keeps trying to change the AutoGenerateBindingRedirects flag to true in .NET Framework project files, even when explicitly told to not use redirects. This happens on both the initial install command and any subsequent ones.

Repro steps
  1. Clone the repo found at https://github.com/jmeland/PaketBindingRedirects - note how line 13 of the project file is <AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
  2. Go to the folder at the level of the solution/dependencies/lock files in a command prompt.
  3. Run .paket\paket.exe install. (Substitute your own copy of the bootstrapper in magic mode for paket.exe if desired, but make sure to put it in the same location as mine is, and remove mine if you're using your own.)
  4. Observe line 13 of the project file again.
Expected behavior

I expect the AutoGenerateBindingRedirects flag to remain false when specifying redirects: off, meaning line 13 of the project file should not change at all, and if it's not the initial install command, the project shouldn't need to get checked out since nothing changed.

Actual behavior

Paket has changed the flag to true, making the line become <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>. This also constitutes a change to the file, leading to Git checking the project out.
In a private and much larger repo using TFS where this issue was discovered, attempting such a modification without having already checked the project out will cause Paket to error on the project file (read-only when not checked out from TFS), stopping it from making this modification or any modifications that would have been done after it!

Known workarounds

Specifying redirects: off at the group level is definitely not a workaround, even though it seemed like the ideal way to solve this entirely. No functioning workaround is currently known.

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 install command and the project-file handling it exercises; reproduce the issue using the linked PaketBindingRedirects project and inspect line 13 of its project file. Done means redirects: off leaves AutoGenerateBindingRedirects set to false on both initial and subsequent installs, without changing or checking out the file.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.