Commit changes before fixing global.json file(s).
This commit is contained in:
339
.github/upgrades/scenarios/new-dotnet-version_a1d9f5/assessment.md
vendored
Normal file
339
.github/upgrades/scenarios/new-dotnet-version_a1d9f5/assessment.md
vendored
Normal file
@@ -0,0 +1,339 @@
|
||||
# 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)<br/>[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)<br/>[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)<br/>[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)<br/>[UnitTests.csproj](#testsunittestsunittestscsproj) | ✅Compatible |
|
||||
| xunit.runner.visualstudio | 3.1.5 | | [Shogi.AcceptanceTests.csproj](#testsacceptancetestsshogiacceptancetestscsproj)<br/>[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["<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
|
||||
|
||||
<a id="boardrulesboardrulescsproj"></a>
|
||||
### 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["<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*** | |
|
||||
|
||||
<a id="shogidatabaseshogidatabasesqlproj"></a>
|
||||
### 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["<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*** | |
|
||||
|
||||
<a id="shogishogicsproj"></a>
|
||||
### 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["<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*** | |
|
||||
|
||||
<a id="testsacceptancetestsshogiacceptancetestscsproj"></a>
|
||||
### 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["<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*** | |
|
||||
|
||||
<a id="testsunittestsunittestscsproj"></a>
|
||||
### 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["<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*** | |
|
||||
|
||||
Reference in New Issue
Block a user