Files
Shogi/.github/upgrades/scenarios/new-dotnet-version_a1d9f5/assessment.md

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>⚙️&nbsp;Shogi.Database.sqlproj</b><br/><small>net472</small>"]
    P2["<b>📦&nbsp;BoardRules.csproj</b><br/><small>net10.0</small>"]
    P3["<b>📦&nbsp;Shogi.AcceptanceTests.csproj</b><br/><small>net10.0</small>"]
    P4["<b>📦&nbsp;UnitTests.csproj</b><br/><small>net10.0</small>"]
    P5["<b>📦&nbsp;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>📦&nbsp;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>⚙️&nbsp;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>📦&nbsp;Shogi.AcceptanceTests.csproj</b><br/><small>net10.0</small>"]
        P4["<b>📦&nbsp;UnitTests.csproj</b><br/><small>net10.0</small>"]
        click P3 "#testsacceptancetestsshogiacceptancetestscsproj"
        click P4 "#testsunittestsunittestscsproj"
    end
    subgraph current["Shogi.csproj"]
        MAIN["<b>📦&nbsp;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>📦&nbsp;Shogi.AcceptanceTests.csproj</b><br/><small>net10.0</small>"]
        click MAIN "#testsacceptancetestsshogiacceptancetestscsproj"
    end
    subgraph downstream["Dependencies (1"]
        P5["<b>📦&nbsp;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>📦&nbsp;UnitTests.csproj</b><br/><small>net10.0</small>"]
        click MAIN "#testsunittestsunittestscsproj"
    end
    subgraph downstream["Dependencies (1"]
        P5["<b>📦&nbsp;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