Coinciding with the release of Visual Studio 2017 last week, Microsoft released .NET Core Tools 1.0. These tools are useful for all .NET Core developers, whether they use VS2017, Visual Studio for Mac, Visual Studio Code or a non-Microsoft IDE of their choice.
Something to note for non-C# developers looking to use .NET Core: both F# and Visual Basic are not yet supported at a RTM level. According to Microsoft’s Rich Lander, full F# support is expected to be completed for .NET Core in the first half of 2017 with VB to follow.
This release marks the official switch to the use of csproj
-style project files for .NET Core projects. Previously the project.json
format was used, but existing projects can be migrated in VS2017 to the new format. While this is a one way migration, backups are made of the original files. Both new and migrated csproj
files for your .NET Core project can be edited from within VS2017. Microsoft has published an extension for VS2017 which provides Intellisense for XML based project files including .csproj
.
Another advancement in .NET Core is the formal introduction of .NET Standard Class Library projects to replace Portable Class Libraries. Projects and NuGet packages adhering to .NET Standard can be referenced by .NET Framework, Xamarin, and Universal Windows Apps. In those situations where you wish to write a class library that uses functionality intrinsic to .NET Core or .NET Framework, there are specific class library templates available for each of those.
It should be pointed out that .NET Core developers using VS2015 will have to upgrade to VS2017 in order to utilize the new tools provided by this 1.0 release. The tools are supported through the command line and Visual Studio Code as an alternative to upgrading Visual Studio.
.NET Core tools are available through multiple channels. They may be installed via the VS2017 installer or downloaded separately from Microsoft’s .NET Core project page. The tools and SDK are available for Windows, Mac OS, and Linux based systems. On the download page both versions 1.0.0 and 1.0.1 are available. 1.0.0 matches what is shipping in VS2017, while 1.0.1 is a minor update which includes support for Fedora 24 and OpenSUSE 42.1.