A third preview of .NET Core 3 has hit, along with the news that, no, the framework isn't going to feature in the upcoming Visual Studio 2019 until the second half of this year at the earliest.
Microsoft first gave a sneak peek of .NET Core 3 at Build 2018 and promised to deliver a first preview of the latest open-source, cross-platform version of Micrsoft .NET tech later that year and a "final version in 2019". It actually squeaked in right at the end of 2018.
Springtime for Visual Studio 2019, Autumn for .NET Core 3
As such, it is unsurprising to learn that "2019" has become "late 2019" for the much-anticipated production release of the open-source framework, replete with support for Windows desktop applications. The release will remove yet another reason for devs to keep using the ageing .NET Framework.
Visual Studio 2019 is due to hit on 2 April, less than a month from now, and while it will include .NET Core 2.1 and 2.2, 3.0 won't ship until the second half of 2019 – which means it will become part of a later update to Visual Studio 2019.
Richard Lander, program manager for the .NET team, has said the actual ship date will be announced at Microsoft's Build 2019 conference in May.
Lander also noted that future previews of .NET Core 3.0 will be emitted monthly from now on until release. Hopefully we will not see a Preview 12.
There are, however, plenty of tweaks in Preview 3 worthy of a closer look.
And they call it Docker love
Developers dealing with applications packaged with containers will be happy to hear that work has been done on memory limits. Lander admitted that the work done in 2017 on memory limits "isn't aggressive enough" with apps being killed as they blow past set limits. Setting Docker limits below 100MB gave results that Lander described as "not great".
The gang has therefore implemented default heap maximums significantly lower than the Docker limits with an explicit size set as either an absolute value or a percentage of the control group (
cgroup) limit. Lander acknowledged the focus had been making the limits work well for Linux containers and plans were afoot to do the same for Windows.
There is also support for authoring .NET Standard 2.1 libraries, although the default continues to be 2.0. After all, .NET Standard 2.1 isn't going to be supported by the .NET Framework any time soon. And, of course, if you want any of that .NET Standard 2.1 goodness in Visual Studio, you had best upgrade to 2019. It won't be supported in 2017.
A minor increment over .NET Standard 2.0, 2.1 includes support for handy features such as
Span<T> as well as virtually all of the 800 or so new members added since .NET Core was open-sourced.
As for the much-wished-for Windows Desktop functionality, high DPI support has been added to the
Application class. Lander also issued an update on the open-sourcing of the Windows Presentation Foundation (WPF) and WinForms projects. The gang is nearing the end of the work and expect the remaining bits of WPF code to be published some time after .NET Core Preview 4.
Those swears are clearly taking a while to excise. ®