12 KiB
12 KiB
Projects and dependencies analysis
This document provides a comprehensive overview of the projects and their dependencies in the context of upgrading to .NETCoreApp,Version=v10.0.
Table of Contents
Executive Summary
Highlevel Metrics
| Metric | Count | Status |
|---|---|---|
| Total Projects | 5 | 1 require upgrade |
| Total NuGet Packages | 14 | All compatible |
| Total Code Files | 64 | |
| Total Code Files with Incidents | 1 | |
| Total Lines of Code | 5753 | |
| Total Number of Issues | 1 | |
| Estimated LOC to modify | 0+ | at least 0.0% of codebase |
Projects Compatibility
| Project | Target Framework | Difficulty | Package Issues | API Issues | Est. LOC Impact | Description |
|---|---|---|---|---|---|---|
| BoardRules\BoardRules.csproj | net10.0 | ✅ None | 0 | 0 | ClassLibrary, Sdk Style = True | |
| Shogi.Database\Shogi.Database.sqlproj | net472 | 🟢 Low | 0 | 0 | ClassicClassLibrary, Sdk Style = False | |
| Shogi\Shogi.csproj | net10.0 | ✅ None | 0 | 0 | AspNetCore, Sdk Style = True | |
| Tests\AcceptanceTests\Shogi.AcceptanceTests.csproj | net10.0 | ✅ None | 0 | 0 | DotNetCoreApp, Sdk Style = True | |
| Tests\UnitTests\UnitTests.csproj | net10.0 | ✅ None | 0 | 0 | DotNetCoreApp, Sdk Style = True |
Package Compatibility
| Status | Count | Percentage |
|---|---|---|
| ✅ Compatible | 14 | 100.0% |
| ⚠️ Incompatible | 0 | 0.0% |
| 🔄 Upgrade Recommended | 0 | 0.0% |
| Total NuGet Packages | 14 | 100% |
API Compatibility
| Category | Count | Impact |
|---|---|---|
| 🔴 Binary Incompatible | 0 | High - Require code changes |
| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing |
| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime |
| ✅ Compatible | 0 | |
| Total APIs Analyzed | 0 |
Aggregate NuGet packages details
| Package | Current Version | Suggested Version | Projects | Description |
|---|---|---|---|---|
| coverlet.collector | 6.0.4 | Shogi.AcceptanceTests.csproj UnitTests.csproj |
✅Compatible | |
| Dapper | 2.1.66 | Shogi.csproj | ✅Compatible | |
| FluentValidation | 12.1.1 | Shogi.csproj | ✅Compatible | |
| Microsoft.AspNetCore.Identity.EntityFrameworkCore | 10.0.1 | Shogi.csproj | ✅Compatible | |
| Microsoft.AspNetCore.Mvc.Testing | 10.0.1 | Shogi.AcceptanceTests.csproj | ✅Compatible | |
| Microsoft.AspNetCore.SignalR.Client | 10.0.1 | Shogi.csproj | ✅Compatible | |
| Microsoft.EntityFrameworkCore.Design | 10.0.1 | Shogi.csproj | ✅Compatible | |
| Microsoft.EntityFrameworkCore.InMemory | 10.0.1 | Shogi.AcceptanceTests.csproj Shogi.csproj |
✅Compatible | |
| Microsoft.EntityFrameworkCore.SqlServer | 10.0.1 | Shogi.csproj | ✅Compatible | |
| Microsoft.NET.Test.Sdk | 18.0.1 | Shogi.AcceptanceTests.csproj UnitTests.csproj |
✅Compatible | |
| Swashbuckle.AspNetCore | 10.1.0 | Shogi.csproj | ✅Compatible | |
| System.Data.SqlClient | 4.9.0 | Shogi.csproj | ✅Compatible | |
| xunit | 2.9.3 | Shogi.AcceptanceTests.csproj UnitTests.csproj |
✅Compatible | |
| xunit.runner.visualstudio | 3.1.5 | Shogi.AcceptanceTests.csproj UnitTests.csproj |
✅Compatible |
Top API Migration Challenges
Technologies and Features
| Technology | Issues | Percentage | Migration Path |
|---|
Most Frequent API Issues
| API | Count | Percentage | Category |
|---|
Projects Relationship Graph
Legend: 📦 SDK-style project ⚙️ Classic project
flowchart LR
P1["<b>⚙️ Shogi.Database.sqlproj</b><br/><small>net472</small>"]
P2["<b>📦 BoardRules.csproj</b><br/><small>net10.0</small>"]
P3["<b>📦 Shogi.AcceptanceTests.csproj</b><br/><small>net10.0</small>"]
P4["<b>📦 UnitTests.csproj</b><br/><small>net10.0</small>"]
P5["<b>📦 Shogi.csproj</b><br/><small>net10.0</small>"]
P3 --> P5
P4 --> P5
click P1 "#shogidatabaseshogidatabasesqlproj"
click P2 "#boardrulesboardrulescsproj"
click P3 "#testsacceptancetestsshogiacceptancetestscsproj"
click P4 "#testsunittestsunittestscsproj"
click P5 "#shogishogicsproj"
Project Details
BoardRules\BoardRules.csproj
Project Info
- Current Target Framework: net10.0✅
- SDK-style: True
- Project Kind: ClassLibrary
- Dependencies: 0
- Dependants: 0
- Number of Files: 1
- Lines of Code: 120
- Estimated LOC to modify: 0+ (at least 0.0% of the project)
Dependency Graph
Legend: 📦 SDK-style project ⚙️ Classic project
flowchart TB
subgraph current["BoardRules.csproj"]
MAIN["<b>📦 BoardRules.csproj</b><br/><small>net10.0</small>"]
click MAIN "#boardrulesboardrulescsproj"
end
API Compatibility
| Category | Count | Impact |
|---|---|---|
| 🔴 Binary Incompatible | 0 | High - Require code changes |
| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing |
| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime |
| ✅ Compatible | 0 | |
| Total APIs Analyzed | 0 |
Shogi.Database\Shogi.Database.sqlproj
Project Info
- Current Target Framework: net472
- Proposed Target Framework: net10.0
- SDK-style: False
- Project Kind: ClassicClassLibrary
- Dependencies: 0
- Dependants: 0
- Number of Files: 0
- Number of Files with Incidents: 1
- Lines of Code: 0
- Estimated LOC to modify: 0+ (at least 0.0% of the project)
Dependency Graph
Legend: 📦 SDK-style project ⚙️ Classic project
flowchart TB
subgraph current["Shogi.Database.sqlproj"]
MAIN["<b>⚙️ Shogi.Database.sqlproj</b><br/><small>net472</small>"]
click MAIN "#shogidatabaseshogidatabasesqlproj"
end
API Compatibility
| Category | Count | Impact |
|---|---|---|
| 🔴 Binary Incompatible | 0 | High - Require code changes |
| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing |
| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime |
| ✅ Compatible | 0 | |
| Total APIs Analyzed | 0 |
Shogi\Shogi.csproj
Project Info
- Current Target Framework: net10.0✅
- SDK-style: True
- Project Kind: AspNetCore
- Dependencies: 0
- Dependants: 2
- Number of Files: 118
- Lines of Code: 4232
- Estimated LOC to modify: 0+ (at least 0.0% of the project)
Dependency Graph
Legend: 📦 SDK-style project ⚙️ Classic project
flowchart TB
subgraph upstream["Dependants (2)"]
P3["<b>📦 Shogi.AcceptanceTests.csproj</b><br/><small>net10.0</small>"]
P4["<b>📦 UnitTests.csproj</b><br/><small>net10.0</small>"]
click P3 "#testsacceptancetestsshogiacceptancetestscsproj"
click P4 "#testsunittestsunittestscsproj"
end
subgraph current["Shogi.csproj"]
MAIN["<b>📦 Shogi.csproj</b><br/><small>net10.0</small>"]
click MAIN "#shogishogicsproj"
end
P3 --> MAIN
P4 --> MAIN
API Compatibility
| Category | Count | Impact |
|---|---|---|
| 🔴 Binary Incompatible | 0 | High - Require code changes |
| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing |
| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime |
| ✅ Compatible | 0 | |
| Total APIs Analyzed | 0 |
Tests\AcceptanceTests\Shogi.AcceptanceTests.csproj
Project Info
- Current Target Framework: net10.0✅
- SDK-style: True
- Project Kind: DotNetCoreApp
- Dependencies: 1
- Dependants: 0
- Number of Files: 5
- Lines of Code: 443
- Estimated LOC to modify: 0+ (at least 0.0% of the project)
Dependency Graph
Legend: 📦 SDK-style project ⚙️ Classic project
flowchart TB
subgraph current["Shogi.AcceptanceTests.csproj"]
MAIN["<b>📦 Shogi.AcceptanceTests.csproj</b><br/><small>net10.0</small>"]
click MAIN "#testsacceptancetestsshogiacceptancetestscsproj"
end
subgraph downstream["Dependencies (1"]
P5["<b>📦 Shogi.csproj</b><br/><small>net10.0</small>"]
click P5 "#shogishogicsproj"
end
MAIN --> P5
API Compatibility
| Category | Count | Impact |
|---|---|---|
| 🔴 Binary Incompatible | 0 | High - Require code changes |
| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing |
| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime |
| ✅ Compatible | 0 | |
| Total APIs Analyzed | 0 |
Tests\UnitTests\UnitTests.csproj
Project Info
- Current Target Framework: net10.0✅
- SDK-style: True
- Project Kind: DotNetCoreApp
- Dependencies: 1
- Dependants: 0
- Number of Files: 7
- Lines of Code: 958
- Estimated LOC to modify: 0+ (at least 0.0% of the project)
Dependency Graph
Legend: 📦 SDK-style project ⚙️ Classic project
flowchart TB
subgraph current["UnitTests.csproj"]
MAIN["<b>📦 UnitTests.csproj</b><br/><small>net10.0</small>"]
click MAIN "#testsunittestsunittestscsproj"
end
subgraph downstream["Dependencies (1"]
P5["<b>📦 Shogi.csproj</b><br/><small>net10.0</small>"]
click P5 "#shogishogicsproj"
end
MAIN --> P5
API Compatibility
| Category | Count | Impact |
|---|---|---|
| 🔴 Binary Incompatible | 0 | High - Require code changes |
| 🟡 Source Incompatible | 0 | Medium - Needs re-compilation and potential conflicting API error fixing |
| 🔵 Behavioral change | 0 | Low - Behavioral changes that may require testing at runtime |
| ✅ Compatible | 0 | |
| Total APIs Analyzed | 0 |