dotnet / dotnet/modernize-dotnet

Add Transitive Dependency Conflict Analyzer

Open
#1,690 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
1.2k
Forks
181
PR merge metrics
No merged PRs in 30d

Description

### Description

During .NET modernization, customers frequently encounter transitive dependency conflicts that block upgrades:

1. NU1109 Downgrade Errors - NuGet restore fails when a transitive dependency requires a lower version than what's already resolved. Build fails with no clear guidance on which packages are in conflict.

2. Runtime Binding Failures - Projects build successfully but fail at runtime with FileLoadException or TypeLoadException due to major version mismatches in transitive dependencies.

3. Diamond Dependencies - Multiple packages depend on the same transitive package with different version requirements, leading to unexpected behavior.

Customer Impact: These issues are time-consuming to diagnose because:

- Conflicts involve indirect dependencies not visible in project files

- project.assets.json is complex and difficult to parse manually

- Root cause identification requires understanding the full dependency graph

More info here: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/2745164/

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.