Visual Studio 2022 17.3, .NET MAUI Now Generally Available
Microsoft on Aug. 9 made Visual Studio 2022 17.3 generally available, along with .NET Multi-platform App UI (.NET MAUI), an evolution of Xamarin.Forms that adds support to create desktop apps in addition to mobile.
While .NET MAUI as a disparate framework reached GA status in May, it only today graduated from preview in Visual Studio, now being available in the release channel of Visual Studio 2022 on Windows.
"We've built tools to help you develop your .NET MAUI apps without slowing you down," said Chris Hardy, program manager on Microsoft's .NET team, in an Aug. 9 announcement post. "Hot Reload, Live Visual Tree and XAML Live Preview speed up your development time by allowing you to apply code changes and see them immediately. With XAML Hot Reload you can make changes to your UI and see them in the running app right away. With .NET Hot Reload you can make changes to your code, save, and see those changes as well."
Indeed, Hot Reload had been a long-requested feature among devs in the Microsoft camp. It came late to Xamarin.Forms, which gained XAML Hot Reload functionality in July 2019, lagging behind alternative offerings like React Native and Flutter.
Develop Apps for Microsoft Teams
Microsoft also touted the ability to use the Visual Studio IDE along with its Microsoft Teams collaboration software, which the company has turned into a low-code development tool with the help of the Teams Toolkit for Visual Studio.
"Using Microsoft Teams as a platform for building apps, you can extend Teams for your app solutions," Hardy said. "Teams Toolkit for Visual Studio makes it simple to get started with apps that embed UI in a tab, notify a channel with a customized message, trigger a task from a chat command, and more."
Live Unit Testing
The new update also boasts enhanced Live Unit Testing, which was previewed in March in a v17.2 preview.
Live Unit Testing automatically runs unit tests in the background, reporting the results and code coverage in real time. When code is changed, it provides feedback on how changes impacted existing tests and whether the new code is covered by any existing tests, reminding developers to write unit tests as they fix bugs or add new features.
"Live Unit Testing now scales better for larger solutions by making the builds scoped to only what is needed and building projects in parallel," Hardy said. "Other improvements to the Live Unit Testing build mechanism provide for more reliable builds and support for a wider variety of solutions. It is now easier to get your solution set up for live unit testing with the introduction of a setup wizard to configure Live Unit Testing in just a few steps. Other improvements include the ability to cancel redundant test runs and making it easier to understand progress by surfacing operations and errors in the Live Unit Testing Window status bar."
Azure Container Apps
This offering went GA in May at the company's big Build developer conference. It lets customers run microservices and containerized apps on a serverless platform, being founded on powerful open source technology in the Kubernetes ecosystem.
The Visual Studio v17.2 release added support for the new Azure Container Apps service to be used for direct deployment or configuration with GitHub Actions.
Today, Hardy explained more about the service, noting that it allows for on-demand deployment via a right-click command or automatically by setting up CI/CD with GitHub Actions. "Azure Container Apps enables you to run microservices and containerized applications on a serverless platform," he said. "With Container Apps, you enjoy the benefits of running containers while leaving behind the concerns of manually configuring cloud infrastructure and complex container orchestrators.
"Visual Studio will help you choose existing Azure resources, or create new ones to be used to deploy your app. It will also build the container image using the Dockerfile in the project, push this image to ACR, and finally deploy the new image to the container app selected."
Other highlights of the release include:
IEnumerable Visualizer: This was a focus point of v17.3 Preview 3, which shipped in May, when Microsoft said: "The .NET IEnumerable debugger visualizer is one of our most loved debugging features in recent times. This was a highly requested feature by developers like you. We released the first version in Visual Studio 17.2. and received an incredibly positive response. You can learn everything about it here IEnumerable visualizer (microsoft.com)." In today's announcement post, Hardy said developers should "Take a look at a few highly requested improvements in IEnumerable visualizer like Filtering, Theming, and CSV export. You can read more about these improvements on our blog here."
- C++ Improvements: The team addressed developer feedback that it should limit CPU use during C++ builds, which resulted in a new feature to enable low priority builds in the IDE. Other feedback also led to new static analysis checks on std::optional to guard against undefined behaviors. "We have also been working hard on performance enhancements for C++ developers," Hardy said. "In 17.3 you will find that Visual Studio indexes and colorizes your C++ code faster than ever. Amongst the improvements seen is a 2X speed improvement in indexing a new C++ Unreal Engine 5 solution."
- What's New? Devs can find out with a Help > What's New or by updating Visual Studio.
- Git Line-staging:Support for this includes the ability to stage specific lines and/or chunks of code right from the editor in the diff view. "To get started, stage one of your recent changes by selecting the corresponding color margin and utilizing the Peek Difference UI to stage your change.Read our blog post to learn more and share your feedback," Hardy said.
- Show Tabs in Multiple Rows: This capability to wrap tabs into multiple rows in order to have more horizontal tabs open at the same time emerged in v17.3 Preview 1 back in May. More details about this top Developer Community feedback suggestion are available in this post.
- Reopen Closed Documents: Developers can now reopen the last tab they closed by right-clicking on a tab via either Ctrl+K ot Ctrl+Z keyboard shortcuts or by navigating to the menu item under Window > Restore Closed Tab.
Visual Studio 2022 17.4 Preview 1
Microsoft today also posted the release notes for the first preview of the next release.
"Version 17.4 will be the first version of Visual Studio generally available as a native Arm64 application," Hardy said. This is confusing because back in June, Microsoft said: "We are excited to announce that the release of Visual Studio 2022 17.3 Preview 2 is now available as a native Arm64 application on Windows 11! This will be the first version of Visual Studio that will natively support building and debugging Arm64 apps on Arm-based processors."
Whichever version was first, it appears Visual Studio is finally a native Arm64 application, one way or the other. Version 17.4 will also be the third long-term servicing channel (LTSC) version supported for 18 months from its release. Feedback during the preview cycle is important to meeting developers' high expectations at release time, said Hardy, who promised a new post soon on the first preview.
For now, the release notes show the introduction of two new features: Rollback -- the ability to return to your previously installed version of Visual Studio -- and Remove out-of-support components. Speaking of the latter, the release notes say: "The second new feature included with the Visual Studio installer is the ability to easily remove all of the components that have transitioned to an out-of-support state. Both Developers and IT administrators can invoke this action to bulk uninstall these unsupported components, which will facilitate maintaining a secure and compliant environment. Part of this feature is being delivered in Preview 1, and the rest will come online with Preview 2."
Other notes touch upon Git tooling, .NET productivity, code search and navigation and many more.
David Ramel is an editor and writer for Converge360.