What Broke in the Dependency Graph
NuGet could not choose one package version because the dependency graph contains incompatible version ranges that cannot be satisfied together.
This is NuGet refusing to continue with a dependency graph that does not make sense. The important detail is which versions or peer requirements disagree, not just the final error code.
Repair the dependency graph
Use the conflict paths in the NU1106 output to identify the packages imposing constraints.
Upgrade or downgrade parent packages so constraints overlap, or add an explicit reference to choose a compatible version.
Restore again:dotnet restore -v minimal
Why Resolution Broke
Usually this comes down to two packages require non-overlapping version ranges of the same dependency, a direct reference pins a version that conflicts with transitive constraints, or a conflict occurs only under one TargetFramework in a multi-target build.
Prove the Graph Is Clean Again
dotnet restore succeeds across all TFMs without NU1106, and dotnet build succeeds without follow-on restore or build errors.
Validation
Re-run the failing command and confirm the original code/message is gone, and confirm expected artifacts or outputs exist (packages restored, build/publish succeeds).
Examples
error NU1106: Unable to satisfy conflicting requests for 'PackageId': ... Framework: ... Mechanism
NuGet merges dependency version ranges across direct and transitive references. If the merged constraints are mutually incompatible, restore fails with NU1106.
Keep the Dependency Graph Healthy
To prevent this, manage versions centrally with CPM and update package families together, and build and test all TFMs in CI to catch framework-specific conflicts.