What Broke in the Dependency Graph
NuGet found conflicting requested versions of the same package and needs you to pin or upgrade dependencies so the graph converges.
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
Follow the conflict path in the NU1107 output to identify the parents.
Add an explicit PackageReference or PackageVersion for the conflicted package, or upgrade parents to converge.
Re-run:dotnet restore && dotnet build
Why Resolution Broke
Usually this comes down to two dependencies require different exact versions of the same package, after upgrading one package, related packages still pull older transitive versions, or central version pinning forces a version that contradicts another requirement.
Prove the Graph Is Clean Again
dotnet restore succeeds without NU1107, and dotnet list package --include-transitive shows a single version selected.
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 NU1107: Version conflict detected for 'PackageA'. Install/reference 'PackageA' v4.0.0 directly to resolve this issue. Mechanism
NuGet tries to select a consistent version per package ID. If the graph includes incompatible version requirements, it emits NU1107 with suggested remediation.
Keep the Dependency Graph Healthy
To prevent this, upgrade related package families together to avoid version skew, and use CPM and automated dependency updates to manage convergence proactively.
Docs and source code
NU1107 message template
User-facing guidance suggests an explicit reference. - GitHub
<data name="Log_VersionConflict" xml:space="preserve">
<value>Version conflict detected for {0}. Install/reference {1} directly to project {2} to resolve this issue.</value>
</data>