Migration to C#8 / C#9 - .NET 5? #709
Replies: 8 comments 9 replies
-
C# 9 will be released with .NET 5 - so its something that should be considered once .NET 5 ships. |
Beta Was this translation helpful? Give feedback.
-
Actually the more important topic will be how to deal with .NET 5. The release of ,NET 5 in November will be a GA release - not an LTS release. Based on my experiences in my day job, enterprise customers are avoiding GA releases and sticking to LTS releases because with LTS they have guaranteed support and less risk. However the LTS release for .NET 5 is not planned until Nov 2021.... and the last LTS release was .NET Core 3.1 in Dec 2019... so there is a big gap between LTS releases. This is further complicated by the fact that what I just mentioned is true for all of the .NET stack EXCEPT for the Blazor WebAssembly bits ( excluding Blazor Server ) which were only GA in May - not LTS. |
Beta Was this translation helpful? Give feedback.
-
I think most folks will agree. There is definitely a challenge in maintaining 2 branches with a small community of developers. And I also think that custom modules which were compiled on .NET Core 3.1 may not run on .NET 5 ( and vice versa ). So there is a real impact to the developer community. |
Beta Was this translation helpful? Give feedback.
-
I'm one of the folks who would agree that development should be marching on the same platform version, currently it's 3.2, in the future it would be .NET 5 or 2021 LTS. After .NET 5 release, the immediate question might be whether the development should be migrate to .NET 5 early or later or even skip it? |
Beta Was this translation helpful? Give feedback.
-
If Oqtane.vNext or v2 timed with .NET 5, does it mean the release also includes .NET 5 support, i.e., migration to .NET 5? If this community could support .NET 5 as soon as it released, it would be awesome from end user/early adaptor's point of view. On development side, Oqtane could take advantage of C# 9 and new features of Blazor and .NET 5, of course, not all of them, as Shaun mentioned in different post regarding to .NET 5 Preview 8. Early adoption of .NET 5 also means less gap to .NET 2021 LTS version. Agree that Oqtane major/stable release as a product should be tied to .NET LTS version, given Oqtane is an innovative framework, it's worthwhile to move fast, i.e. to support .NET 5 early and let v2 or v3 aligned up with .NET LST version. Looking ahead something like:
|
Beta Was this translation helpful? Give feedback.
-
The other major factor to consider is if we will lose any functionality by moving to .NET 5. In particular, I am concerned about the ability to support both runtime hosting models in the same application. Currently we have an excellent story around this, as it is controlled by a single appsettings.json entry. In .NET 5 I noticed that there are new elements in the *.csproj which would seem to make this impossible. |
Beta Was this translation helpful? Give feedback.
-
I exchanged emails with Dan Roth today and it sounds like because Oqtane is already shipping with dependencies on .NET Core 3.2 packages we are essentially already on a "Current" release – not an "LTS" release. And based on the .NET Core support model, what this means is that once .NET 5 ships, we will need to upgrade to .NET 5 within three months after .NET 5 ships or else we will be on an unsupported version of .NET Core. In addition, since the ability to use either Blazor Server or Blazor WebAssembly is a key value proposition for Oqtane then migrating to .NET 5 appears to be the right path forward – even if it is not an "LTS" release. |
Beta Was this translation helpful? Give feedback.
-
We will need to test this but Dan seems to think that the Blazor WebAssembly packages in .NET 5 should be backwards compatible with Blazor WebAssembly 3.2 - so the transition for modules and themes may not be a breaking change |
Beta Was this translation helpful? Give feedback.
-
Would there be any benefits to migrating Oqtane to a newer version of C#?
Beta Was this translation helpful? Give feedback.
All reactions