Fallout-build / Fallout-build/Fallout

Build fails on .NET SDK 10.0.400: NuGet.Packaging 6.14.3 conflicts with the SDK's NuGet 7.x

Open
#638 5 comments 3 reactions 0 assignees View on GitHub
bug target/vCurrent
Dominant language
C#
Stars
154
Forks
19
Avg merge
1d 22h
Merged PRs (30d)
15

Description

### Problem
`global.json` pins SDK `10.0.100` with `rollForward: latestMinor`, so CI now runs SDK 10.0.400. That SDK loads `NuGet.Frameworks 7.9.0.0` into MSBuild. `Directory.Packages.props:21` pins `NuGet.Packaging 6.14.3`, which loads `NuGet.Frameworks 6.14.3` into the same process. Every `./build.sh` run fails at `Compile`, so CI fails on `main` and on every PR.

### Outcome
`./build.sh Compile` succeeds on SDK 10.0.400, and the required `ubuntu-latest` check passes again.

### Acceptance criteria
- [ ] `NuGet.Packaging` is bumped to a 7.x version matching the NuGet version shipped by the supported SDK range.
- [ ] `./build.sh Compile` and `./build.sh Test` pass locally on SDK 10.0.400.
- [ ] `ubuntu-latest` is green on `main`.

### Notes
Nothing in the repository changed. The last green run used SDK 10.0.302. The first failing run used 10.0.400.

Error: `InvalidProjectFileException: The expression "[MSBuild]::GetTargetFrameworkIdentifier(net10.0)" cannot be evaluated. Could not load file or assembly 'NuGet.Frameworks, Version=7.9.0.0'`.

[NuGet 7.0](https://learn.microsoft.com/en-us/nuget/release-notes/nuget-7.0) only removed APIs that were already marked obsolete. This repo uses `NuspecReader`, `PackageArchiveReader`, `PackageFolderReader`, `VersionRange`, `NuGetVersion` and `NuGetFramework`. None of them are affected. Bumping to 7.9.0 was tested locally and compiles with 0 errors.

### Open questions
- NuGet 7.x dropped `netstandard2.0` support. `Fallout.Tooling` (`net10.0;netstandard2.0`) and `Fallout.Tooling.Generator` (`netstandard2.0`) then restore .NET Framework assets instead, which produces 35 NU1701 warnings. Do those `netstandard2.0` targets still need to exist?
- Pinning 6.14.3 for only the `netstandard2.0` target does not work while `CentralPackageTransitivePinningEnabled` is `true` (`Directory.Packages.props:4`).

Contributor guide

Open the contributing guide

Research direction

Start with global.json and Directory.Packages.props lines 4 and 21 to understand the SDK roll-forward and central NuGet pin. Run ./build.sh Compile and ./build.sh Test with SDK 10.0.400, then verify the target frameworks and NU1701 warnings raised by the netstandard2.0 projects. Done means both commands pass and the ubuntu-latest check is green.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, ci-cd
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.