135 lines
4.2 KiB
Markdown
135 lines
4.2 KiB
Markdown
# .NET 10.0 Version Notice
|
|
|
|
## Important Information
|
|
|
|
This project has been configured to target **.NET 10.0** as requested. However, please note:
|
|
|
|
### Current Status (as of February 2026)
|
|
|
|
⚠️ **.NET 10.0 is NOT yet released** - The current latest stable version is .NET 8.0 LTS.
|
|
|
|
Microsoft's .NET release schedule:
|
|
- ✅ .NET 8.0 LTS - Released November 2023 (Current LTS, supported until November 2026)
|
|
- 🚧 .NET 9.0 - Released November 2024 (STS - Standard Term Support)
|
|
- ❓ .NET 10.0 - Expected November 2025 (if following Microsoft's pattern)
|
|
|
|
### What This Means
|
|
|
|
1. **Package Versions**: The NuGet package versions specified (e.g., Version="10.0.0") may not exist yet
|
|
2. **SDK Requirement**: You'll need the .NET 10.0 SDK when it becomes available
|
|
3. **Current Alternative**: You can easily convert this project back to .NET 8.0 if needed
|
|
|
|
### Converting Back to .NET 8.0 (If Needed)
|
|
|
|
If .NET 10.0 is not yet available and you want to use this project now:
|
|
|
|
1. **Find and Replace in all .csproj files:**
|
|
- Change `<TargetFramework>net10.0</TargetFramework>` to `<TargetFramework>net8.0</TargetFramework>`
|
|
|
|
2. **Update Package Versions:**
|
|
- Microsoft.AspNetCore.* packages: `10.0.0` → `8.0.0`
|
|
- Microsoft.EntityFrameworkCore.* packages: `10.0.0` → `8.0.0`
|
|
- Microsoft.Extensions.* packages: `10.0.0` → `8.0.0`
|
|
- FluentValidation: `11.10.0` → `11.9.0`
|
|
- Semantic Kernel: `1.31.0` → `1.0.1`
|
|
- ML.NET: `4.0.0` → `3.0.1`
|
|
- Serilog.AspNetCore: `8.0.3` → `8.0.0`
|
|
- Serilog.Sinks.File: `6.0.0` → `5.0.0`
|
|
- Swashbuckle: `7.2.0` → `6.5.0`
|
|
- Microsoft.NET.Test.Sdk: `17.12.0` → `17.8.0`
|
|
- xunit: `2.9.2` → `2.6.2`
|
|
- xunit.runner.visualstudio: `2.8.2` → `2.5.4`
|
|
- Moq: `4.20.72` → `4.20.70`
|
|
- coverlet.collector: `6.0.2` → `6.0.0`
|
|
|
|
3. **Run:**
|
|
```bash
|
|
dotnet restore
|
|
dotnet build
|
|
```
|
|
|
|
### Quick Conversion Script
|
|
|
|
You can use this PowerShell script to convert all projects to .NET 8.0:
|
|
|
|
```powershell
|
|
# Navigate to solution root
|
|
cd PowderCoatingApp
|
|
|
|
# Replace net10.0 with net8.0 in all .csproj files
|
|
Get-ChildItem -Recurse -Filter *.csproj | ForEach-Object {
|
|
(Get-Content $_.FullName) -replace 'net10.0', 'net8.0' | Set-Content $_.FullName
|
|
(Get-Content $_.FullName) -replace 'Version="10.0.0"', 'Version="8.0.0"' | Set-Content $_.FullName
|
|
}
|
|
|
|
# Restore packages
|
|
dotnet restore
|
|
```
|
|
|
|
Or use this bash script (Linux/Mac):
|
|
|
|
```bash
|
|
# Navigate to solution root
|
|
cd PowderCoatingApp
|
|
|
|
# Replace net10.0 with net8.0 in all .csproj files
|
|
find . -name "*.csproj" -type f -exec sed -i 's/net10.0/net8.0/g' {} +
|
|
find . -name "*.csproj" -type f -exec sed -i 's/Version="10.0.0"/Version="8.0.0"/g' {} +
|
|
|
|
# Restore packages
|
|
dotnet restore
|
|
```
|
|
|
|
### When .NET 10.0 Becomes Available
|
|
|
|
Once .NET 10.0 is officially released:
|
|
|
|
1. **Install the SDK:**
|
|
```bash
|
|
dotnet --list-sdks
|
|
# Should show 10.0.xxx
|
|
```
|
|
|
|
2. **Restore packages:**
|
|
```bash
|
|
dotnet restore
|
|
```
|
|
|
|
3. **Verify all packages are available:**
|
|
```bash
|
|
dotnet build
|
|
```
|
|
|
|
4. **Update to latest patch versions** as they become available
|
|
|
|
### Project Structure Compatibility
|
|
|
|
The project structure, architecture, and code are designed to be forward-compatible:
|
|
- ✅ Clean Architecture principles work across all .NET versions
|
|
- ✅ Entity Framework Core patterns remain consistent
|
|
- ✅ ASP.NET Core MVC structure is stable
|
|
- ✅ Identity system is backwards compatible
|
|
- ✅ Repository pattern implementation is framework-agnostic
|
|
|
|
### Recommendations
|
|
|
|
For **production use today**:
|
|
- Use .NET 8.0 LTS (Long Term Support until November 2026)
|
|
- Convert the project using the scripts above
|
|
- All functionality will work identically
|
|
|
|
For **future-proofing**:
|
|
- Keep the .NET 10.0 configuration
|
|
- Wait for the official release
|
|
- Test thoroughly when upgrading
|
|
|
|
### Questions?
|
|
|
|
If you need help converting to .NET 8.0 or have questions about .NET versions, please refer to:
|
|
- [.NET Support Policy](https://dotnet.microsoft.com/platform/support/policy)
|
|
- [.NET Release Schedule](https://github.com/dotnet/core/blob/main/releases.md)
|
|
|
|
---
|
|
|
|
**Note**: This project structure is production-ready and will work with any .NET version 8.0 or higher with minimal modifications to the target framework and package versions.
|