fsprojects / fsprojects/Paket

Conditional ItemGroups on .NET version get in the way

Open
#1,440 18 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement msbuild proj sdk: verbose sdk
Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Not sure if this is entirely Paket's doing. There must be a use case for setting different ItemGroup .NET version conditionals for different versions of a package dll, but in my use case (and I would think this is the most common case) I am only every building whichever .NET version I specified for the project in Visual Studio. At best the conditionals just work and are clutter, but frequently Paket Update does not update them correctly. Most recently when I upgraded projects to .NET v4.6.1 Packet seemed to only know about v4.6 and set condtionals only as high as v4.6. (Yes, I tried setting net461 in the dependencies file.) Needless to say, nothing would build. It's also aggravating when there is only one version of a dll, and conditionals are built up for the only version that can build. (Hope this makes sense, taking a long weekend and might not be able to respond for a couple days.)

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

No source file or test is named. Start by tracing Paket's generation and update of conditional ItemGroups for .NET target versions, then compare the net461 case with the single-DLL case; done means the intended conditionals are generated and Paket Update preserves them correctly.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, 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.