Is your feature request related to a problem? Please describe.
The project is currently built on .NET 5 and C# 9. This older technology stack prevents us from taking advantage of the significant performance improvements, new language features, and modernized APIs available in the latest .NET versions.
Describe the solution you'd like
Upgrade the project to .NET 8 and C# 12. This includes:
Updating all project files and dependencies to target .NET 8.
Refactoring code to utilize new C# 12 features where applicable and beneficial (e.g., primary constructors for records, collection literals, using directives).
Updating NuGet packages to their latest versions compatible with .NET 8.
Thoroughly testing the application after the upgrade to ensure functionality and compatibility across all intended environments.
Describe alternatives you've considered
Staying on .NET 5 and C# 9: This is not a viable long-term solution as it severely restricts access to new features, performance enhancements, and potentially impacts security.
Upgrading to an intermediate version (e.g., .NET 6 or .NET 7): This would necessitate an additional upgrade step in the near future and might not be the most efficient use of resources compared to directly upgrading to the latest LTS version.
Additional context
Link to official .NET 8 documentation: https://learn.microsoft.com/en-us/dotnet/core/dotnet-eight
Link to official C# 12 documentation: https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-12
Briefly describe any potential challenges or areas that might require extra attention during the upgrade process (e.g., specific dependencies, custom code implementations, breaking changes in APIs).
Upgrading to .NET 8 and C# 12 will modernize the project, potentially lead to significant performance improvements, and allow us to leverage the latest advancements in the .NET ecosystem.