Patrick Lam
Nov 9, 2021
  1791
(3 votes)

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

Comments

Johnny Mullaney
Johnny Mullaney Nov 10, 2021 10:20 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
Jonas Boman Nov 10, 2021 03:55 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
Patrick Lam Nov 12, 2021 04:59 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
Patrick Lam Nov 12, 2021 05:04 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.
Latest blogs
Optimizely SendGrid SMTP host is deprecated

SendGrid is a services for sending email that is included in Optimizely DXP. Previously smtp.episerver.net was the recommended SMTP server to use,...

Tomas Hensrud Gulla | Dec 4, 2022 | Syndicated blog

Hosting Optimizely CMS 12 on Docker Engine

Since Optimizely CMS can now be deployed as a Docker container, here is a demonstration of building, running and scaling an Optimizely CMS 12 site ...

Stefan Holm Olsen | Dec 4, 2022 | Syndicated blog

How to use CacheTagHelper with content areas in Optimizely CMS 12

I might be going out on a limb here - if you have a better solution, feel very free to share it!  Upgrading your Optimizely web application from .N...

Andreas J | Dec 2, 2022

The 1001st Piece in your 1000 Piece Puzzle: .NET Default Interface Functions

I was recently working with a client who wanted a reasonably large subsystem added to Optimizely that would add automated management to their...

Greg J | Nov 28, 2022 | Syndicated blog