Build 2019: Microsoft Announces .NET 5

Microsoft announced that the next .NET release after .NET Core 3 will be branded as .NET 5, with the firm finally combining classic .NET with the open source .NET Core into a single platform.

“There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS, and WebAssembly, and more,” Microsoft’s Richard Lander announced. “We will introduce new .NET APIs, runtime capabilities and language features as part of .NET 5.”

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

As you may know, .NET Core is essentially the open source and cross-platform version of Microsoft’s proprietary .NET platform, which is often referred to as the .NET Framework. The issue for .NET Core, to date, has been that it offered only a subset of .NET Framework functionality on Windows. This made it impossible for some developers to migrate existing code bases to the new platform.

So, Microsoft has evolved. NET Core since its initial release in 2016, adding over 50,000 NET Framework APIs to the platform. With .NET Core 3, the firm added most .NET Framework 4.8 functionality and enabled support for Windows Forms, WPF, and Entity Framework 6.

Now, the next release, now called .NET 5, will be a single platform that can replace both .NET Core 3 and .NET Framework 4.8. It will ship in November 2020, with the first preview available in the first half of 2020, Microsoft says. And it will be supported with future updates to Visual Studio 2019, Visual Studio for Mac, and Visual Studio Code.

Microsoft says that the goal for .NET 5 is to produce a single .NET runtime and framework that can be used everywhere and that has uniform runtime behaviors and developer experiences, to expand the capabilities of .NET by combining the best features from .NET Core, .NET Framework, Xamarin and Mono, and to build that product out of a single code-base that can work on and expand together. It will continue to be open-source, of course.

More specifically, .NET will support Java and will eventually support both Objective-C and Swift too. Pretty amazing.

Tagged with

Share post

Please check our Community Guidelines before commenting

Conversation 15 comments

  • skane2600

    06 May, 2019 - 2:40 pm

    <p>Goals are great but ultimately the only thing that counts is what is delivered. Call me skeptical. I still remember "one windows" that didn't actually deliver the same functionality on every Windows device. For a single .NET platform to be truly significant, you should be able to design a sophisticated full-featured .NET program without having to think at all about which platform(s) it's supposed to run on or provide any platform-specific elements and have it work perfectly on all the systems that support the Framework.</p>

    • spivonious

      06 May, 2019 - 4:42 pm

      <blockquote><a href="#426117"><em>In reply to skane2600:</em></a><em> </em></blockquote><blockquote><em>You will always have to think about the platform you're running. Different platform's users have different UX expectations.</em></blockquote><p><br></p>

      • skane2600

        06 May, 2019 - 4:48 pm

        <blockquote><em><a href="#426168">In reply to spivonious:</a></em></blockquote><p>I agree, which is why this isn't a very significant development. You don't need .NET 5 to create platform-specific programs, we've been doing it for decades.</p>

  • christian.hvid

    06 May, 2019 - 2:46 pm

    <p><em>"</em><em style="color: rgb(0, 0, 0);">More specifically, .NET will support Java and will eventually support both Objective-C and Swift too.&nbsp;"</em></p><p><br></p><p><span style="color: rgb(0, 0, 0);">Just to be clear, this is about interoperability, nothing else. It's not like you'll be able to run Swift or Java code on top of .NET anytime soon. </span></p><p><br></p>

    • IanYates82

      Premium Member
      07 May, 2019 - 7:51 am

      <blockquote><em><a href="#426120">In reply to christian.hvid:</a></em></blockquote><p>Agreed. </p><p>A language is just one half of the equation – the libraries / framework are also important, so you wouldn't want to use Java code to call .NET runtime/framework stuff and vice-versa. But interop calls that make it easy to call from .NET code over to some code written in swift (and compiled in swift) would be great, and vice-versa I imagine.</p><p>Gets fun with things like object lifetimes I suppose.</p>

  • Jeff.Bane

    06 May, 2019 - 3:13 pm

    <p>I wonder how they are pulling off the UI libraries on Linux and Mac.</p>

    • sevenacids

      06 May, 2019 - 4:33 pm

      <blockquote><em><a href="#426139">In reply to Jeff.Bane:</a></em></blockquote><p>I think they will be decoupled from the framework, and offered as platform-specific extensions via NuGet packages. Just like WPF and Windows Forms are being made available for .NET Core 3.0 today.</p>

    • dontbe evil

      07 May, 2019 - 2:34 am

      <blockquote><em><a href="#426139">In reply to Jeff.Bane:</a></em></blockquote><blockquote><br></blockquote><p>yup, still waiting for a xaml standard cross platform (at least for xamarin.forms and UWP)</p>

  • spivonious

    06 May, 2019 - 4:43 pm

    <p>November 2020 to port all WinForms and WPF APIs? I would be extremely impressed if MS can hit that deadline.</p>

    • sevenacids

      06 May, 2019 - 6:45 pm

      <blockquote><em><a href="#426169">In reply to spivonious:</a></em></blockquote><p>There's no need to port, they are still Windows-only. The only thing they have to do is to decouple them from .NET Framework and adapt to the new runtime distribution model, but since this is already in progress for .NET Core 3.0, I don't think November 2020 is an unrealistic shipping date. Most of the code that runs on the current .NET Framework will continue to do so on .NET 5.</p>

  • thalter

    Premium Member
    06 May, 2019 - 7:27 pm

    <p>This sounds great. I've got a decade of .NET Classic code that I would love to move off of Windows, but up until now it has been too big of a lift to go to .NET Core (too many changes, to much missing capabilities). </p>

  • rmac

    06 May, 2019 - 10:00 pm

    <p>1.5 years to embrace WebAssembly? Proves my earlier point which I deduced from the Hanselman site back along. There aren't enough devs on this distinguishing project. It should have been like .NET – massive team, top secret then boom announcement and release. </p>

  • rmac

    06 May, 2019 - 10:07 pm

    <p>Blazor's a bit like Churchill's WW1 tanks. A brilliant idea without sufficient momentum at launch on account of numbers and hence surprise…</p><p><br></p><p>Core 3 isn't even done yet. New it was doomed when Mono was announced for WebAssembly. As a Windows dev I'm pretty p****d off waiting for all this non-Windows crap to get out of my way. 3 years into Core just to bring us back to .NET 2002 days.</p>

  • rmac

    06 May, 2019 - 10:15 pm

    <p>what about a common UI stack? </p><p><br></p><p>I'll stick with .NET framework for now and keep off the Core kool-ade. Meanwhile I'll just let W10 'dinosaur' on a 32GB bloat when portability for IoT was staring in the face to supplant mobile.</p>

    • dontbe evil

      07 May, 2019 - 2:34 am

      <blockquote><a href="#426254"><em>In reply to rmac:</em></a></blockquote><p>yup, still waiting for a xaml standard cross platform (at least for xamarin.forms and UWP)</p>

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC