News

One More .NET 5 Preview Before 'Go Live' Release Candidate

Microsoft shipped preview 7 of the milestone .NET 5 project that in November will combine all things .NET under one unifying umbrella release in the company's new open source, cross-platform direction.

With the new Preview 7 now out, there will only be one more numbered preview before the huge project enters the "release candidate" stage, which for .NET 5 will consists of two RC releases that fill feature "go live" production code.

.NET 5
[Click on image for larger view.] .NET 5 (source: Microsoft).

Not that the code hasn't already seen production use, as Microsoft has been eating its own dog food for the showcase .NET web site. "We've been running the dot.net site on .NET 5.0 since Preview 1 (50 percent on 5.0; 50 percent on 3.1) and it has worked great," Richard Lander, program manager for the .NET team, said in a July 21 blog post announcing .NET 5.0 Preview 7.

With most of the features of .NET 5 being close to done, Preview 7 doesn't introduce too much new stuff, with the big news about performance boosts already being presented via more than 250 pull requests.

Three areas that were called out by Lander in Preview 8 include enhancements to System.Text.Json, garbage collection, and RyuJIT, the assembly code generator for .NET that targets both Intel and ARM chips.

Speaking of compilation, AOT (ahead-of-time compilation), several developers expressed disappointment with the progress of adding that functionality.

In response to a reader comment about "still no mentions of AOT?" Lander said, "I'll be posting more about our single file project in the Preview 8 or RC1 post. The project has been more complicated than expected. That's the reason for the delay. The delay is not due to AOT, but the single file nature of the project. You can see what we're up to on GitHub @ https://github.com/dotnet/runtime/issues/36590

"The AOT part continues to be based on generating ready-to-run images. This is very similar to what you can use today with .NET Core 3.1. The combination of AOT, single file and a more linkable framework make the overall result much better."

Microsoft has said that while most .NET 5 workloads will use the existing just-in-time compiler (JIT), AOT native compilation will be used for iOS and client-side Blazor (based on WebAssembly). It has promised "massive speed gains" for Blazor.

Multiple developers weren't happy with Lander's answer to the AOT question, with one saying, "Your team cannot be trusted, you kept being evasive/ignoring questions related to AOT, then you finally spoke with .net 5 preview 5 saying we'll hear more about AOT for preview 7, here is preview 7 and not a single word about AOT."

The .NET Schedule
[Click on image for larger view.] The .NET Schedule (source: Microsoft).

And AOT isn't the only technology that is seemingly late to the .NET 5 party. Microsoft earlier confirmed that not all of the planned functionality originally envisioned for .NET 5 won't be ready because of development delays caused by the COVID-19 pandemic.

"Last year, we laid out our vision for one .NET and .NET 5," said Scott Hunter, director of program management, .NET, in a post published during the company's Build 2020 developer conference. "We said we would take .NET Core and Mono/Xamarin implementations and unify them into one base class library (BCL) and toolchain (SDK).

"In the wake of the global health pandemic, we've had to adapt to the changing needs of our customers and provide the support needed to assist with their smooth operations. Our efforts continue to be anchored in helping our customers address their most urgent needs. As a result, we expect these features to be available in preview by November 2020, but the unification will be truly completed with .NET 6, our Long-Term Support (LTS) release. Our vision hasn't changed, but our timeline has."

Microsoft also suffered some development delays in getting the client-side Blazor WebAssembly up to par with the with server-side Blazor Server, and in wrestling with the "huge technical challenge" of implementing desktop functionality in the new cross-platform .NET Core offering.

Lander also mentioned some other work that is progressing slowly in the Preview 7 announcement post. "Most features should be very close to done at this point. Single file and ARM64 intrinsics are two feature areas that are taking the longest time to complete, but are on track for Preview 8," he said.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube