# 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*** | |