Visual Studio 2019 16.3, Your New Tool for .NET Core 3.0

Alongside the big .NET Core 3.0 release, Microsoft announced the general availability of Visual Studio 2019 16.3, which VS developers need to work with the new cross-platform, open source offering.

Highlights of the release include desktop application development support, Blazor updates and support for the newly released C# 8.0. Blazor is the red-hot ASP.NET Core project that uses WebAssembly to allow .NET-centric developers to do browser development projects -- such as interactive Web UIs -- in C#, instead of relying upon the traditional, nearly ubiquitous JavaScript.

"Together with .NET Core 3.0, C# 8.0 is out today!" Microsoft's Scott Hanselman was quoted as saying in a Sept. 23 announcement post. "It's also open source and is the language that many of you will use to make your applications. Visual Studio 16.3 supports both C# 8.0 and .NET Core 3.0, and provides tooling support for all new .NET Core 3.0 features. This includes support for building desktop applications with Windows Forms and WPF, client-side Web applications with Blazor and back-end microservices using gRPC."

Here's a rundown of the new features highlighted in the post:

  • .NET Core Desktop Application Support: With the help of a new XAML designer for Windows Presentation Foundation (WPF) apps, developers can create those apps and Windows Forms apps, though a WinForms XAML designer is in preview.
    The New WPF XAML Designer
    [Click on image for larger view.] The New WPF XAML Designer (source: Microsoft).

  • .NET Applications in Containers: A new menu command, Add > Docker Support, does just that on C# projects developed on Linux platforms that leverage Azure Functions (v2). It will add a Dockerfile to such projects and provide a "Docker" debug target for an Azure Functions app for in-container debugging.

  • .NET Productivity: Dozens of refactoring advancements and new features help developers work with .NET Core 3.0 and C# 8.0. These include:
    • Developers can wrap chains of fluent calls with a refactoring.
    • Developers can rename a file when renaming an interface, enum or class.

  • C++:
    • The C++ Standard Library (STL) sports new preview features available with the /std:c++latest switch, such as C++ Concepts, which are described as "predicates that can be used to express a generic algorithm's expectations on its template arguments."
    • Developers can use new keyboard shortcuts to toggle line comments to separate out code that shouldn't be compiled.
    • The IntelliSense completion list sees the addition of a filter to consider type qualifiers.
    • Code is easier to understand and visualize with new a new default semantic colorization scheme.
    • IntelliCode, an artificial intelligence-powered update to IntelliSense, is active by default.
    • The Call Stack window can be more easily configured to hide or show template arguments for improved readability.
    • Developers creating CMake project can now install missing third-party library dependencies using Vcpkg, a cross-platform C++ library manager. Also, the CMake Settings Editor is improved.

  • Python: Developers using this popular programming language now have a new testing experience, with new support for the pytest framework and improved support for the unittest framework.

All of the above and much more is presented in more detail in the release notes.

Going forward, Microsoft also unveiled the first preview of Visual Studio 16.4.

"If you are a developer wanting to try the cutting-edge tools in .NET, check out the features in Visual Studio 2019 version 16.4 Preview 1," said Jaqueline Widdis, program manager for the Release Team. "It includes new .NET Core 3.0 app publishing options: Ready to Run (Crossgen), Linking, and SingleExe (make tiny .NET Core 3.0 apps) as well as new templates."

More can be found in the release notes for that Preview 1 offering, which can be found on this page.

About the Author

David Ramel is an editor and writer for Converge360.

comments powered by Disqus


  • What's Next for ASP.NET Core and Blazor

    Since its inception as an intriguing experiment in leveraging WebAssembly to enable dynamic web development with C#, Blazor has evolved into a mature, fully featured framework. Integral to the ASP.NET Core ecosystem, Blazor offers developers a unique combination of server-side rendering and rich client-side interactivity.

  • Nearest Centroid Classification for Numeric Data Using C#

    Here's a complete end-to-end demo of what Dr. James McCaffrey of Microsoft Research says is arguably the simplest possible classification technique.

  • .NET MAUI in VS Code Goes GA

    Visual Studio Code's .NET MAUI workload, which evolves the former Xamarin.Forms mobile-centric framework by adding support for creating desktop applications, has reached general availability.

  • Visual Studio Devs Quick to Sound Off on Automatic Updates: 'Please No'

    A five-year-old Visual Studio feature request for automatic IDE updates is finally getting enacted by Microsoft amid a lot of initial developer pushback, seemingly misplaced.

  • First Official OpenAI Library for .NET Goes Beta

    Although it seems Microsoft and OpenAI have been deeply intertwined partners for a long time, they are only now getting around to releasing an official OpenAI library for .NET developers, joining existing community libraries.

Subscribe on YouTube