/coreclr

This repo contains the .NET Core runtime, called CoreCLR, and the base library, called mscorlib. It includes the garbage collector, JIT compiler, base .NET data types and many low-level classes.

Primary LanguageC++MIT LicenseMIT

.NET Core Runtime (CoreCLR)

Linux Windows Mac OS X
Debug Build status Build status Build Status
Release Build status Build status Build status

The coreclr repo contains the complete runtime implementation (called "CoreCLR") for .NET Core. It includes RyuJIT, the .NET GC, native interop and many other components. It builds and runs on Windows. You can 'watch' the repo to see Linux and Mac support being added over the next few months.

.NET Core is part of ASP.NET 5 and is a subset of the .NET Framework. You can learn more about .NET Core and how and where you can use it in the CoreCLR is open source blog post.

The .NET Core Libraries repo contains the base class libraries, which provides data types and base functionality (ex: String, Collections, HttpClient) on top of CoreCLR. The two repos together make up .NET Core. The .NET Core is Open Source and Introducing .NET Core blog posts describes our .NET Core OSS strategy and road map in more detail.

Want to chat with other members of the CoreCLR community?

Join the chat at https://gitter.im/dotnet/coreclr

Learn about CoreCLR

Historically, new devs to the CLR team would be encouraged to read the "Book of the Runtime" (BotR) before making substative changes to the product. We have released the meaningful BotR chapters and other documents, for the same goal with new contributors.

How to Engage, Contribute and Provide Feedback

Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.

Want to get more familiar with what's going on in the code?

Looking for something to work on? The list of up-for-grabs issues is a great place to start.

You are encouraged to start a discussion by filing an issue, creating a gist or starting a thread in the .NET Foundation forums. For broader topics, please use the forums.

CoreCLR Build Artifacts

The build for this repo will produce the following artifacts:

  1. coreclr.dll and required native binaries
  2. mscorlib.dll
  3. Tests that are required for validating any changes to the product

Code Flow

CoreCLR is a subset of the .NET Framework CLR. They share the same codebase and are updated together. For example, an update to the .NET GC improves both CoreCLR and the .NET Framework CLR.

We setup a live 2-way mirror between the coreclr repo on GitHub and the .NET Framework TFS server within Microsoft. The latency of the mirror is low, measurable in minutes.

Contributions made to the coreclr repo are integrated to the Microsoft TFS server automatically and will become part of both the .NET Framework and .NET Core products. The same is true in reverse, that .NET Framework CLR changes (within the CoreCLR subset) are mirrored to the CoreCLR repo. These changes will sometimes result in large commits to unrelated components.

License

.NET Core (including the coreclr repo) is licensed under the MIT license.

.NET Foundation

.NET Core is a .NET Foundation project.

Related Projects

There are many .NET projects on GitHub.