News

.NET 6 Preview 6: 'Last Chance to Influence the Release'

Microsoft shipped .NET 6 Preview 6, saying the penultimate preview before the Release Candidate stage represents the last chance for developers to influence the release with actionable feedback.

.NET 6 will culminate a groundbreaking unification effort of all things .NET, slated for general availability in November. It will put all the disparate desktop, web, mobile, cloud and device tooling under one umbrella platform.

"The release is quickly coming together and to an end," said Richard Lander, program manager on Microsoft's .NET team, in a July 14 blog post. "We'll soon be addressing only the most pressing feedback, approaching the same bug bar that we use for servicing releases. If you've been holding on to some feedback or have yet to try .NET 6, please do now. It's your last chance to influence the release."

He emphasized that Preview 6 is relatively small compared to the coming, larger Preview 7. After that, two Release Candidates will focus on quality fixes until the final release in November.

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

As far as new functionality in the the "small" Preview 6, it includes improvements to Microsoft's .NET SDK optional workload scheme that was a focus point of Preview 5 last month.

That scheme replaces the old monolithic SDK approach, which was burdened by a long build times and large distribution sizes.

"Instead, all new workloads will be built and delivered separately from the SDK, and will be acquirable via your favorite installation tool (like the Visual Studio Installer, a Linux package manager, or the .NET CLI)," Lander said last month. "In the fullness of time, we intend for all .NET workloads to follow this pattern, resulting in a very small and focused SDK."

Furthering the effort in Preview 6 are new workload commands designed to help developers more easily discover and manage optional workloads.

Previously, Microsoft provided these commands for working with workloads:

  • dotnet workload install -- installs a workload.
  • dotnet workload list -- lists installed workloads.
  • dotnet workload update -- updates installed workloads.

In Preview 6, there are three new commands:

  • dotnet workload search -- list workloads available to install.
  • dotnet workload uninstall -- remove the specified workload if no longer required, which is also a good option for space saving.
  • dotnet workload repair -- re-install all previously installed workloads.
    • This is useful if your install fails in the middle because of a dropped internet connection.
    • Optional workloads are made up of multiple workload packs and you may have gotten into a state where some installed successfully but others didn't.

In addition to the workload-related items above, other new features and functionality coming in Preview 6 include:

  • x64 emulation update: Having already added support for Apple Silicon for macOS and Arm64 for Windows, the company has turned to supporting x64 emulation on macOS Apple Silicon and Windows Arm64. Lander said two things are needed for that:

    "Until side-by-side capable installers are available (later in .NET 6), you'll either need to install all x64 builds or all Arm64 ones," Lander said. "If you want to switch, you need to uninstall/delete all .NET versions on your Arm64 machine. That's unfortunate, but where we are at at this point."

  • TLS support for System.DirectoryServices.Protocols: After already being enabled for Windows, TLS support has been enabled for System.DirectoryServices.Protocols for Linux and macOS. ".NET users can now enjoy secure communications with LDAP servers."
  • Crossgen2 replaces crossgen: Crossgen2 has been enabled for all existing crossgen scenarios, and Microsoft also removed (the old) crossgen from the SDK, making it no longer accessible and unable to be used. "Crossgen (1 and 2) enables pre-compiling IL to native code as a publishing step. Pre-compilation is primarily beneficial for improving startup. Crossgen2 is a from-scratch implementation that is already proving to be a superior platform for code generation innovation. For example, crossgen2 can generate code for a broader set of IL patterns than crossgen1."
  • Improved sync-over-async performance: Sync-over-async, a common type of blocking work, can lead to starvation when it happens on thread pool worker threads. Furthermore, slow thread injection can delay other queued work and may delay the starvation from being resolved. "This change improved the rate of thread injection by default when sync-over-async is the only type of blocking work happening on thread pool worker threads. There are some new AppContext config values that can be used to configure the rate of thread injection in response to sync-over-async."

More information on all of the above and several other changes in Preview 1 can be found in the release notes.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events