NuGet Adds Support for .NET Core 2.0, .NET Standard 2.0
The Visual Studio 2017 15.3 NuGet client has been updated to support the new .NET Core 2.0 and .NET Standard 2.0 releases announced by Microsoft this week.
.NET Core 2.0 is a major revamp of the company's modularized, open source, cross-platform implementation of .NET, based on a vastly expanded set of .NET APIs that have been standardized under .NET Standard 2.0, which dictates the API set required to be available in all .NET implementations.
However, .NET Core. 2.0 and .NET Standard 2.0 functionality would be limited if they didn't play nicely with NuGet, the Visual Studio package manager that provides access to hundreds of thousands of third-party packages.
Shortly after Microsoft's announcement, NuGet, under the .NET Foundation umbrella, announced support for .NET Core. 2.0 and .NET Standard 2.0 in the new 4.3 RTM update for the Visual Studio.
"We are happy to announce an update to the NuGet client that comes bundled with Visual Studio 2017 version 15.3 RTW and .NET Core 2.0 SDK," NuGet said in a blog post Tuesday. "This release introduces support for new scenarios such as .NET Core 2.0/.NET Standard 2.0, some new features, a series of bug fixes and performance improvements."
Microsoft earlier pointed out that a May investigation found some 70 percent of NuGet packages (which manages more than 87,000 unique packages and more than 960,000 package versions) were compatible with .NET Standard 2.0.
However, the company said: "The vast majority of NuGet packages are currently still targeting .NET Framework. Many projects are currently blocked from moving to .NET Standard because not all their dependencies are targeting .NET Standard yet. That's why we added a compatibility mode that allows .NET Standard projects to depend on .NET Framework libraries as if they were compiled for .NET Standard."
Microsoft also told developers that if they wanted to author .NET Standard 2.0 in Visual Studio, they need VS 2017 15.3, but if they just want to consume such libraries, they could do so even with Visual Studio 2015 as long as they install the NuGet 3.6 client (available here).
In this week's post, NuGet said the client update for VS 2015 adds these improvements:
- Support for consuming .NET Standard 2.0 packages into the compatible projects
- Support for Semantic Versioning 2.0.0 packages
- Fix for UI hang bug as described in NuGet #4976
The NuGet 4.3 RTM in Visual Studio, meanwhile, also added support for Semantic Versioning 2.0.0, along with support for new target framework monikers (TFMs) -- netcoreapp2.0 and netstandard2.0 -- and integration of NuGet warnings and errors into MSBuild.
David Ramel is the editor of Visual Studio Magazine.