# 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](#executive-Summary)
- [Highlevel Metrics](#highlevel-metrics)
- [Projects Compatibility](#projects-compatibility)
- [Package Compatibility](#package-compatibility)
- [API Compatibility](#api-compatibility)
- [Aggregate NuGet packages details](#aggregate-nuget-packages-details)
- [Top API Migration Challenges](#top-api-migration-challenges)
- [Technologies and Features](#technologies-and-features)
- [Most Frequent API Issues](#most-frequent-api-issues)
- [Projects Relationship Graph](#projects-relationship-graph)
- [Project Details](#project-details)
- [BoardRules\BoardRules.csproj](#boardrulesboardrulescsproj)
- [Shogi.Database\Shogi.Database.sqlproj](#shogidatabaseshogidatabasesqlproj)
- [Shogi\Shogi.csproj](#shogishogicsproj)
- [Tests\AcceptanceTests\Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj)
- [Tests\UnitTests\UnitTests.csproj](#testsunittestsunittestscsproj)
## 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](#boardrulesboardrulescsproj) | net10.0 | ✅ None | 0 | 0 | | ClassLibrary, Sdk Style = True |
| [Shogi.Database\Shogi.Database.sqlproj](#shogidatabaseshogidatabasesqlproj) | net472 | 🟢 Low | 0 | 0 | | ClassicClassLibrary, Sdk Style = False |
| [Shogi\Shogi.csproj](#shogishogicsproj) | net10.0 | ✅ None | 0 | 0 | | AspNetCore, Sdk Style = True |
| [Tests\AcceptanceTests\Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj) | net10.0 | ✅ None | 0 | 0 | | DotNetCoreApp, Sdk Style = True |
| [Tests\UnitTests\UnitTests.csproj](#testsunittestsunittestscsproj) | 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](#testsacceptancetestsshogiacceptancetestscsproj)
[UnitTests.csproj](#testsunittestsunittestscsproj) | ✅Compatible |
| Dapper | 2.1.66 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| FluentValidation | 12.1.1 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| Microsoft.AspNetCore.Identity.EntityFrameworkCore | 10.0.1 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| Microsoft.AspNetCore.Mvc.Testing | 10.0.1 | | [Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj) | ✅Compatible |
| Microsoft.AspNetCore.SignalR.Client | 10.0.1 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| Microsoft.EntityFrameworkCore.Design | 10.0.1 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| Microsoft.EntityFrameworkCore.InMemory | 10.0.1 | | [Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj)
[Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| Microsoft.EntityFrameworkCore.SqlServer | 10.0.1 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| Microsoft.NET.Test.Sdk | 18.0.1 | | [Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj)
[UnitTests.csproj](#testsunittestsunittestscsproj) | ✅Compatible |
| Swashbuckle.AspNetCore | 10.1.0 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| System.Data.SqlClient | 4.9.0 | | [Shogi.csproj](#shogishogicsproj) | ✅Compatible |
| xunit | 2.9.3 | | [Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj)
[UnitTests.csproj](#testsunittestsunittestscsproj) | ✅Compatible |
| xunit.runner.visualstudio | 3.1.5 | | [Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj)
[UnitTests.csproj](#testsunittestsunittestscsproj) | ✅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
```mermaid
flowchart LR
P1["⚙️ Shogi.Database.sqlproj
net472"]
P2["📦 BoardRules.csproj
net10.0"]
P3["📦 Shogi.AcceptanceTests.csproj
net10.0"]
P4["📦 UnitTests.csproj
net10.0"]
P5["📦 Shogi.csproj
net10.0"]
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
```mermaid
flowchart TB
subgraph current["BoardRules.csproj"]
MAIN["📦 BoardRules.csproj
net10.0"]
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
```mermaid
flowchart TB
subgraph current["Shogi.Database.sqlproj"]
MAIN["⚙️ Shogi.Database.sqlproj
net472"]
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
```mermaid
flowchart TB
subgraph upstream["Dependants (2)"]
P3["📦 Shogi.AcceptanceTests.csproj
net10.0"]
P4["📦 UnitTests.csproj
net10.0"]
click P3 "#testsacceptancetestsshogiacceptancetestscsproj"
click P4 "#testsunittestsunittestscsproj"
end
subgraph current["Shogi.csproj"]
MAIN["📦 Shogi.csproj
net10.0"]
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
```mermaid
flowchart TB
subgraph current["Shogi.AcceptanceTests.csproj"]
MAIN["📦 Shogi.AcceptanceTests.csproj
net10.0"]
click MAIN "#testsacceptancetestsshogiacceptancetestscsproj"
end
subgraph downstream["Dependencies (1"]
P5["📦 Shogi.csproj
net10.0"]
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
```mermaid
flowchart TB
subgraph current["UnitTests.csproj"]
MAIN["📦 UnitTests.csproj
net10.0"]
click MAIN "#testsunittestsunittestscsproj"
end
subgraph downstream["Dependencies (1"]
P5["📦 Shogi.csproj
net10.0"]
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*** | |