Build 2019: Microsoft Announces .NET 5

Posted on May 6, 2019 by Paul Thurrott in Dev with 15 Comments

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.”

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 ,

Join the discussion!

BECOME A THURROTT MEMBER:

Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Register
Comments (15)

15 responses to “Build 2019: Microsoft Announces .NET 5”

  1. skane2600

    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.

  2. christian.hvid

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


    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.


    • IanYates82

      In reply to christian.hvid:

      Agreed.

      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.

      Gets fun with things like object lifetimes I suppose.

  3. Jeff.Bane

    I wonder how they are pulling off the UI libraries on Linux and Mac.

  4. spivonious

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

    • sevenacids

      In reply to spivonious:

      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.

  5. thalter

    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).

  6. rmac

    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.

  7. rmac

    Blazor's a bit like Churchill's WW1 tanks. A brilliant idea without sufficient momentum at launch on account of numbers and hence surprise...


    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.

  8. rmac

    what about a common UI stack?


    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.

Leave a Reply