Microsoft Ships First v2.1 Previews of .NET Core, ASP.NET Core, Entity Framework Core
Microsoft has shipped the first preview of .NET Core 2.1 -- its modularized, open source, cross-platform evolution of the .NET Framework and runtime -- along with associated "Core" packages for ASP.NET and Entity Framework.
Although .NET Core has been around for nearly two years, it really gained traction with last year's release of v2.0, which added thousands of APIs to the .NET implementation that runs on Windows, macOS and Linux and can also be used in device, cloud and embedded/IoT scenarios. It's optimized for building modern Web apps, microservices, libraries and console applications and is delivered in NuGet modules similar to the npm approach, rather than as traditional assemblies.
In the first preview of v2.1, Microsoft highlighted several enhancements, including significantly quicker build times.
"Build-time performance is much improved in .NET Core 2.1, particularly for incremental builds," Microsoft said in a post this week (Feb. 27). "These improvements apply to both dotnet build on the command line and to builds in Visual Studio. We’ve made improvements in the CLI tools and in MSBuild in order to make the tools deliver a much faster experience."
That faster experience is illustrated in the following graphic:
The new offering also introduces global tools, which provide new deployment and extensibility features based on npm global tools. This feature lets developers install tools from a NuGet feed into their local path so they're always readily available.
In addition to faster build performance and global tools, Microsoft announced several other improvements intended to address the following overall themes (of which not all were addressed in v2.1):
- Close gaps in ASP.NET Core and EF Core
- Improve compatibility with .NET Framework
- General Data Protection Regulation (GDPR) and security
- Microservices and Azure
- More capable engineering system
Along those lines, Microsoft: announced improvements to boost socket performance (the basis of outgoing and incoming networking communication); introduced a new set of types (such as Span<T> and Memory<T>) for using arrays and other types of memory more efficiently; made some changes to Docker images, addressing developer feedback asking for smaller images and other functionality; and unveiled new Windows Compatibility Pack to aid in the porting of existing .NET Framework code to .NET Core.
"It provides access to an additional 20,000 APIs, compared to what is available in .NET Core," Microsoft said of the Windows Compatibility Pack. "This includes System.Drawing, EventLog, WMI, Performance Counters and Windows Services."
All of the above changes and more are detailed in the .NET Core 2.1 Preview 1 release notes.
Microsoft also shipped ASP.NET Core 2.1 Preview 1, aligning with the ASP.NET Core 2.1 roadmap published last month.
In incorporates a bevy of new features and functionality, many of which have their own blog posts to dig down into the nitty-gritty details.
The new features that have accompanying blog posts (many still don't) include:
Finally, Microsoft also detailed the new Entity Framework Core 2.1 Preview 1, which includes a multitude of new features that were reportedly frequently requested by developers.
These new features concern: lazy loading; parameters in entity constructors; value conversions (allowing storing enums as strings, for one example); LINQ GroupBy translation; data seeding (providing initial data to populate a database); query types that can be included in an EF Core model); and many more.
For more details on the new EF Core 2.1 functionality, see this post.
David Ramel is the editor of Visual Studio Magazine.