Microsoft recently released .NET Core and ASP.NET 5 Release Candidate, supported on Windows, OS X and Linux. Microsoft states this release is ready for production and will support it. Both release candidates are considered feature complete on Windows, OS X and Linux, although minor features may still be added until the final release.
ASP.NET 5 breaking changes on IIS
As ASP.NET 5 architecture is different in several aspects from its predecessor, some steps are required before publishing an ASP.NET 5 web application to an IIS server. The HTTP Platform Handler must be installed on the web server and some additional configuration steps may be required.
ASP.NET 5 features in Visual Studio
Visual Studio receives two features, both related to the UI part of ASP.NET. The first one is making Bootstrap Snippets a recommended extension for editing HTML or CSHTML pages in an ASP.NET 5 project. The extension provides a collection of about 40 HTML snippets, available from the Visual Studio toolbox.
Bower, a package manager for client side content such as CSS and JavaScript, receives a new UI. The user interface is similar to Nuget, but manages client side libraries instead.
ASP.NET 5 Runtime
The DNX, or .NET Execution Environment, is an SDK for building and running a .NET application. Its main purpose is to simplify development of cross platforms applications. It also makes it possible to run on different runtimes such as Mono, .NET and .NET Core. RC1 brings a small change on the host setup, making it an explicit part of the application. This change provides more flexibility, making it possible to specify a different host or call some code before initiliazing the DNX host. The example below shows an example of calling the host using C# 6 expression method bodies syntax.
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
.NET Core Runtime and BCL
RC1 brings Linux and OSX support to many runtime components and librairies:
- Implementation of CoreFX, the .NET Core foundational libraries like System.Collections
- Removal of MaxPath restriction, meaning the 260 characters limit no longer exists in .NET Core APIs
- RyuJIT support on Linux and OS X
- Support for LLDB and SOS on Linux
- Integration of exception handling with debugger and crash dumps
- GC/thread suspension for Linux and OSX
- Native eventing support via LTTNG for Linux
.NET Core Libraries
SqlClient was ported to .NET Core, supporting Windows OS X and Linux. Although the client works on all platform, it is not feature complete at the time of RC1. Several Azure libraries were also ported to .NET Core, including:
- Windows Azure Storage
- Microsoft.Azure.Graph.RBAC
- Microsoft.Azure.Management.Compute
- Microsoft.Azure.Management.Network
- Microsoft.Azure.Management.Storage
- Microsoft.Azure.Management.Resources
- Microsoft.Azure.Management.WebSites
ASP.NET 5 installers and packages for Windows, Linux and OSX are avaible on the official ASP.NET website. Both ASP.NET and .NET Core are hosted on GitHub, where documentation is available along with the source code.