.NET Core Is Key Focus of Upcoming Visual Studio Features
.NET Core, the reinvention of the Microsoft .NET Framework as an open source, cross-platform development choice, is a key focus of the upcoming features planned for the Visual Studio IDE.
In conjunction with .NET Standard -- a spec detailing what .NET APIs should be available on all .NET implementations -- .NET Core retains compatibility with .NET Framework, Xamarin and Mono while letting developers use Windows, macOS or Linux machines to code for mobile, cloud and embedded/IoT projects.
While still primarily driven by Microsoft dev teams, .NET Core is hosted on a GitHub repository and is supported by the .NET Foundation, an independent organization created by Microsoft three years ago to improve its open source development and collaboration.
Peeking at the Visual Studio Roadmap (updated last week) reveals .NET Core figures prominently in upcoming functionality for the IDE, both in the near-term and long:
.NET Core 2.1
For one thing, Microsoft intends to support the upcoming .NET Core 2.1, which was previewed in February and is planned for release in the second quarter (April-June). The focus of that release, Microsoft says, will be Web, cloud, microservices, containers and console applications. .NET Core's own roadmap shows milestones are 99 percent complete, with 49 open issues waiting to join the ranks of 6,880 previously closed issues (as of this writing).
The .NET Core 2.1 release, covering .NET Core, ASP.NET Core and EF Core implementations, is intended to improve upon themes such as:
- Faster build performance
- Close gaps in ASP.NET Core and EF Core
- Improve compatibility with .NET Framework
- GDPR and security
- Microservices and Azure
- More capable engineering system
IntelliTrace Step Back
This feature planned for all .NET Core workloads lets Visual Studio take snapshots of an app at every breakpoint and step event encountered during debugging. Developers can revisit previous breakpoints or steps to inspect the state of the application at those times. Microsoft says this time-saving feature is useful in scenarios where coders want to examine the previous application state without restarting a debugging session or recreating a desired app state.
However, it requires Visual Studio Enterprise 2017 version 15.5 or higher and Windows 10 Anniversary Update or above. At this time, it also doesn't work with Universal Windows Platform (UWP) apps.
This feature planned for all .NET Core workloads launches Visual Studio automatically when an app running outside of the IDE generates an exception or crashes. "This enables you to test your application when Visual Studio is not running, and begin debugging with Visual Studio when a problem occurs," Microsoft says.
It works for Windows desktop apps, but, again, not UWP apps, and doesn't support managed code hosted in a native application, such as visualizers.
Planned for .NET Core along with ASP.NET and Azure is the ability to create, build and deploy applications using Kubernetes and Helm charts to Azure Container Service (AKS).
AKS is intended to simplify the deployment, management and operations of Kubernetes, an open source system for production-grade container orchestration. Visual Studio developers leveraging AKS can use a fully managed Kubernetes container orchestration service or choose other orchestrators.
Also focusing on .NET Core is the ability to use F# Type Providers and F# Interactive in .NET Core 2.1.
While the above roadmap features primarily target .NET Core, several others target that platform at the same time as other platforms, such as .NET Desktop, Azure and ASP.NET.
More features are listed in the roadmap for the second quarter, but many don't indicate what specific workloads are targeted. A couple features for the July-September timeframe targeting .NET Desktop, ASP.NET and .NET Core include:
- Run Live Unit Tests significantly faster after making edits.
- Use the improvements to IntelliSense, including contextual completion and completion for unimported types.
Taken together, all of the above clearly indicate .NET Core development is a primary focus of the Visual Studio dev teams.
"Visual Studio 2017 provides a full-featured development environment for building .NET Core applications," the company says. "As long as the application doesn't have platform-specific dependencies, the application can run on any platform that .NET Core targets and on any system that has .NET Core installed."
Microsoft advises that the Visual Studio Roadmap is not a comprehensive list of all new features in Visual Studio, but rather serves to provide some visibility into key investments. The current feature sets and delivery timeframes are subject to change.
Visual Studio developers wanting to provide input on these features, or suggest new ones for the IDE, are invited to use the UserVoice forum.
David Ramel is the editor of Visual Studio Magazine.