BryanWilhite / SonghayCore

core reusable, opinionated concerns for *all* 🧐 of my C# projects
http://songhayblog.azurewebsites.net/
MIT License
1 stars 0 forks source link

upgrade to .NET Core 5.x #67

Closed BryanWilhite closed 3 years ago

BryanWilhite commented 4 years ago

This would be done in a breaking-changes release: image

BryanWilhite commented 4 years ago

https://docs.microsoft.com/en-us/aspnet/core/migration/22-to-30?view=aspnetcore-3.0&tabs=visual-studio

https://docs.microsoft.com/en-us/dotnet/core/compatibility/2.2-3.0

https://stackoverflow.com/questions/58164059/upgrading-from-asp-net-core-2-2-to-3-0

https://andrewlock.net/converting-a-netstandard-2-library-to-netcore-3/

BryanWilhite commented 4 years ago

https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#net-standard-21

.NET Core 3.0 implements .NET Standard 2.1.

BryanWilhite commented 3 years ago

i will attempt to organize myself on the known levels of escalation of an β€œupgrade”:

  1. leave net452, net462 and netstandard2.0 targeting in place and just upgrade Microsoft dependencies to 5.x.
  2. leave net452, net462 and netstandard2.0 targeting in place, simplify (clean up) #if directives and upgrade Microsoft dependencies to 5.x.
  3. jettison explicit .NET Framework support, target netstandard2.0 (which is supported by .NET framework) and net5.0 (this would address netstandard2.1 support).

πŸ“– https://docs.microsoft.com/en-us/dotnet/standard/frameworks

We recommend you skip .NET Standard 2.1 and go straight to .NET 5. Most widely used libraries will end up multi-targeting for both .NET Standard 2.0 and .NET 5. Supporting .NET Standard 2.0 gives you the most reach, while supporting .NET 5 ensures you can leverage the latest platform features for customers that are already on .NET 5.

πŸ“– https://docs.microsoft.com/en-us/dotnet/standard/net-standard#when-to-target-net50-vs-netstandard

BryanWilhite commented 3 years ago

My previous comment suggests to me that

I am tempted to take option 3 but it would no longer keep me in the comfort zone of being at least two years behind Microsoft.

BryanWilhite commented 3 years ago

πŸ“– https://devblogs.microsoft.com/dotnet/introducing-net-5/

BryanWilhite commented 3 years ago

from #101: NET5_0_WINDOWS did not work at all; a *.csproj with <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> seems to be the only way to go toward Windows-specific libraries

see: https://github.com/BryanWilhite/Songhay.Mvvm/issues/4 πŸ‘οΈ and https://github.com/BryanWilhite/Songhay.Mvvm/issues/3