Published on:Nov 09, 2021
Views: 1370
Number of votes: 3
Average rating:

Visual Studio 2022 and .NET 6

On the first day of the .NET Conf 2021, the GA release of Visual Studio 2022 and .NET 6 was announced. Here are some highlights that were presented during the conference and the blog.

Visual Studio 2022

Fonts

A new font, Cascadia, and updated icons were introduced to the new version of VS. Cascadia comes with different weights and two styles: Mono and Code. Code has provided the ability to express two or more characters as a single unit, ligatures. This mainly affects the appearce of logical operation characters such as >=, <= and <>.

Other updates related to fonts are tied to the dark theme mode: new colours which reduces eyestrain, improve accessibility, and provide consistency with Windows dark theme.

Debugging

Moving the cursor within the left margin of the code view allows a dot to show up, which provide different types of breakpoints to add to that specific line of code: Conditional, Tracepoint, Temporary, and Dependent

Editor

New features were added to the editor: Subword navigation, inheritance margin, and underline reassigned.

IntelliSense

This is now available for preprocessor symbols. Additionally, optional features such as inline parameter name hints, adding missing imports on paste, and inline diagnostics were added.

Refactoring

LINQ expression can now be simplified, for example, Where/Any methods can be slimplifed to just Any when possible. Methods within classes that were Shared, will now be Static. Also, the Generate Overrides dialog now offers a text box to filter methods.

WinForms and WPF applications

New event ApplyApplicationDefaults added in .NET 6.0 projects. This event allows you to set application wide values that must be set before any forms or controls are created: Font, MinimumSplashScreenDisplayTime, and HighDpiMode

C# init properties support

In Visual Basic 16.9, a new featured called init properties was added to indicate that a property is immutable after the constructor completes.

Hot Reload

Hot Reload allows you to change your code without stopping at a breakpoint. Simply make the change in the code and hit "Hot Reload" to see the immediate change.

 

For more information on what features Microsoft will be working on for Visual Studio, see their product road map.

.NET 6

There are many highlights for .NET 6 that comes with the new Visual Studio 2022. Please see blog for details.

Use the Upgrade Assistant to help migrate your project to the .NET version of your choice. There are some known issues with .NET 6, such as "Remove unused refereces" in the Solution Explorer right click dialog is not recognized for some package references, the .editorconfig dialog currently does not include settings that are language specific, and the <ApplicationDefaultFont> in .vbproj is currently ignored.

*We (Optimizely) are currently working on support for .NET 6, and it looks like a trivial upgrade which won’t require any significant work for Optimizely customers, but as always, the devil is in the details. Our goal is to add support for .NET 6 with no breaking changes in Optimizely CMS or Commerce in spring / summer 2022.

Nov 09, 2021

Johnny Mullaney
( By Johnny Mullaney, 11/10/2021 10:20:44 AM)

There are large performance gains with VS 2022's move to x64 architecture. Especially noticable when working with large solutions. So far I've been really impressed.

Jonas Boman
( By Jonas Boman, 11/10/2021 3:55:15 PM)

Hey Patrick!

Thanks for sharing.

We are about to head on a journey and developing a brand new website on CMS 12 for a customer. Currently they are using CMS 11, latest minor version and have some own common libraries on the ASP.NET Framework.

Knowing the common lib has to be adapted to .NET 5 to be able to run on CMS 12, and given the end-of-support date for .NET 5 (May 2022) how is the more detailed time plan for .NET 6 on DXP and in Optimizely SDK?

Do you se any issues with the end-of-support date compared to the planned rollout for .NET 6?

Patrick Lam
( By Patrick Lam, 11/12/2021 4:59:45 PM)

Hi Jonas,

Since we are still focusing on completing the migration to .NET 5, we haven't worked out the detailed schedule for .NET 6 updates yet. Understanding that .NET 6 apps can reference .NET 5 assemblies, unless using .NET 6 specific features, there's no issues that we know of as of today until we start testing support for .NET 6.

I've reached out to our internal team to double check and see if they have more information they can provide.

Cheers.

Patrick Lam
( By Patrick Lam, 11/12/2021 5:04:30 PM)

Hi Jonas,

Following up after having a conversation with our internal team, and as I've assumed, they cannot provide a definitive answer until there's more research and testing done for .NET 6 support.

Please note that our team have already started looking into it and there are on going discussions on what the plan is for .NET 6 support.

Cheers,

Pat

Please login to comment.