.NET Core 2.1 Released, Along with Entity Framework, ASP.NET Versions
After a series of previews, Microsoft this week announced the final release of .NET Core 2.1, along with its like-versioned associates, ASP.NET Core and Entity Framework Core.
.NET Core is a general-purpose, cross-platform, open source development platform maintained by Microsoft, the .NET Foundation and general .NET community. Developers can use it on Windows, macOS and Linux to create device, cloud and embedded/IoT applications. Its ASP.NET and Entity Framework cousins are used for Web and data-driven development, respectively.
Although it has been around for a couple of years, .NET Core got a big boost with last year's introduction of .NET Core 2.0, with provided access to thousands more APIs, turning it into a primary focus point for future Visual Studio development.
"By default, these tools are framework-dependent applications and include all of their NuGet dependencies," Microsoft's Rich Lander, said in a blog post yesterday (May 30). "This means that .NET Core tools run on all .NET Core supported operating system and chip architecture by default, with one set of binaries. By default, the dotnet tool install command looks for tools on NuGet.org. You can use your own NuGet feeds instead."
Example tools, as seen here, provide functionality such as: finding outdated NuGet packages and applying updates; managing GitHub Issues, searching Microsoft documentation; and many more.
"We expect a whole new ecosystem of tools to establish itself for .NET.," Lander said.
Other highlights of v2.1 include:
Build performance improvements, which Lander described as "perhaps the biggest focus of the release." Now, large projects have markedly speedier build times from v 2.0 (down from 107 seconds to 10.1), with smaller projects showing a less dramatic decrease in build times, from 6.6 seconds to 1.9 seconds.
- Runtime performance improvements and others affecting the Just-In-Time (JIT) compiler, threading, networking and more.
- A new Span<T> type, said to help usher in a new era of .NET-based memory-efficient and high performance computing. Lander explained: "Today, if you want to pass the first 1,000 elements of a 10,000 element array, you need to make a copy of those 1,000 elements and pass that copy to your caller. That operation is expensive in both time and space. The new Span<T> type enables you to provide a virtual view of that array without the time or space cost. Span is a struct, which means that you can enable complex pipelines of parsing or other computation without allocating. We are using this new type extensively in corefx for this reason."
- Support for Brotli compression, which Lander said provided speed similar to deflate but with denser compression.
- New cryptography APIs (including APIs based on Span<T>).
- A Windows Compatibility Pack, which helps port existing .NET Framework code to .NET Core while letting developers use an additional 20,000 APIs.
- A preview of tiered compilation, said to help the runtime more adaptively use the Just-In-Time (JIT) compiler to get better performance.
- Several more, including: SourceLink, for debugging; self-contained application publishing; and Docker functionality tweaks;
New 2.1 versions were also announced for Entity Framework Core and ASP.NET Core.
David Ramel is the editor of Visual Studio Magazine.