A First Look at .NET Core RC2

An early look at the major changes in .NET Core Release Candidate 2 (RC2). We explore the shift from DNX to the new dotnet CLI and the evolution of the project format, which brings us closer to the final 1.0 release.

The journey to .NET Core 1.0 has been one of rapid evolution, and with the release of Release Candidate 2 (RC2), we are getting a much clearer picture of what the final, production-ready version will look like. RC2 isn't just an incremental update; it represents a major shift in the tooling and project structure, and it's a huge step towards the final release.

For developers who have been following along with the early previews and RC1, there are some significant and important changes to understand.

The Biggest Change: From DNX to the dotnet CLI

The most significant change in RC2 is the replacement of the old tooling (dnu, dnvm, dnx) with a new, unified dotnet command-line interface (CLI). The dotnet CLI is a single, cross-platform tool that provides a consistent set of commands for creating, building, testing, and publishing .NET Core applications.

This new toolchain is designed to be simpler, more intuitive, and more powerful. The basic commands include:

  • dotnet new: Creates a new .NET Core project from a template.
  • dotnet restore: Restores the dependencies for a project.
  • dotnet build: Builds the project.
  • dotnet run: Runs the application.
  • dotnet test: Runs the tests for a project.
  • dotnet publish: Publishes the application for deployment.

This unified toolset is a massive improvement and provides a solid foundation for the .NET Core ecosystem.

A New Project Format: project.json Evolves

RC1 introduced the project.json file as a new way to manage project metadata and dependencies. In RC2, this format continues to be used, but it has evolved to work with the new dotnet CLI. While the long-term plan is to eventually move back to the familiar .csproj format (powered by MSBuild), for now, project.json is the standard for .NET Core projects.

ASP.NET Core RC2

Alongside .NET Core RC2, we also get ASP.NET Core RC2. The web framework has been updated to align with the new tooling and project structure. The core concepts of middleware and dependency injection remain, but the setup and configuration have been refined.

One of the most welcome changes is the simplification of dependency management. The new Microsoft.AspNetCore.All metapackage makes it much easier to get started by referencing all the necessary framework components with a single line.

A Focus on Stability and Performance

With RC2, the focus is clearly on stabilizing the APIs and improving performance ahead of the 1.0 release. The team has been working hard to optimize the runtime and libraries, and ASP.NET Core is already showing incredible performance in early benchmarks.

The Road to 1.0

RC2 is a "go-live" release, which means Microsoft will support it in production. This is a huge vote of confidence in the stability of the platform. It's the final major step before the official 1.0 release, which is expected in the summer.

For developers, RC2 is a clear signal that it's time to start seriously building with .NET Core. The tooling is stabilizing, the APIs are solidifying, and the performance is impressive. The vision of a cross-platform, open-source, and high-performance .NET is on the verge of becoming a reality.