BT

InfoQ Homepage News .NET Core 2 Released, Supports .NET Standard 2.0

.NET Core 2 Released, Supports .NET Standard 2.0

Bookmarks

The highly anticipated .NET Core 2 SDK has been officially released by Microsoft.  The debut of .NET Core 1 exhibited great potential, but many developers found the supported number of .NET APIs to be lacking.  That all changes in this release of .NET Core, which implements .NET Standard 2.0.  Through supporting this standard, .NET Core 2 supports 32,000 APIs.   

The additional APIs are not the only improvement included in .NET Core 2.  Six new platforms were added including Fedora 25 & 26, Debian 9, macOS High Sierra, Ubuntu 17.04, Linux Mint 18, and SUSE Enterprise Linux 12 (SP2+). 

Existing .NET Core developers upgrading from 1.X should be aware of its change involving the dotnet restore command.  Starting in .NET Core 2, this command is now implicit when the situation requires it.  You may continue to use it as you have in the past, but .NET Core will now call it on your behalf when needed by commands like run, build, and publish.  This is intended to be a quality of life improvement as previously if restore was needed, the system would simply emit an error message and stop.

A key inclusion for this release is the ability to reference .NET Framework libraries from .NET Standard.  This should help developers managing legacy code, and is intended to streamline the transition from .NET Framework to .NET Standard compliant code.  For example, a library targeting anything from .NET Framework 1.0 to 4.6.1 can be referenced from .NET Standard compliant code.  The benefit is that this allows developers to migrate code to .NET Standard 2 at their own pace, and still using existing code when time or budget does not allow for a full rewrite.

Visual Basic developers will find support for their language in .NET Core 2, although with this release this support is limited to class libraries and console based applications.  ASP.NET Core 2 support is currently limited to F# and C#. 

Visual Studio 2017 version 15.3 now implicitly supports .NET Core 2, and supports side-by-side installation of multiple .NET Core SDKs.  This makes development simpler and will it make easier explore both beta SDKs and new releases in the future without jeopardizing a developer’s existing environment.  Another benefit provided by the release of .NET Core 2 and the updates to VS2017 is that future changes to the .NET Core SDK will not require a coinciding update to VS2017.  This means .NET Core SDK can advance without requiring a developer to upgrade their copy of Visual Studio.

A key thing to remember is that VS2017 is not required to use .NET Core 2, as the freely available Visual Studio Code, Visual Studio for Mac, and the command line are supported use-cases.  Of course, non-Microsoft tools work just as well, such as JetBrains’ Rider .NET IDE.  The .NET Core 2 SDK is available for download now for all major platforms (macOS, Linux, and Windows).

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Good news ...

    by Mark N /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    ... but it is all about the frameworks. Which is sad because C# is a really good language. But there is no equivalent in .NET to Spring, Spring Boot, Hibernate, the majority of Apache.org products, etc. (yes, i've used the .NET versions of some)

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.