This repo contains the .NET Core runtime optimized for ahead of time compilation. The CoreRT compiler can compile a managed .NET Core application into a native (architecture specific) single-file executable that is easy to deploy. It can also produce standalone dynamic or static libraries that can be consumed by applications written in other programming languages. To learn more about CoreRT, see the intro document.
If you would like to give CoreRT a try, we publish daily snapshots of CoreRT to a NuGet feed. Using CoreRT is as simple as adding a new package reference to your .NET Core project and publishing it. Check out one of our samples: a "Hello World" console app, a simple ASP.NET Core app, a MonoGame game or a native library. The README.md
file in each sample's directory will guide you through the process step by step.
This is a work in progress. The current state of platform support:
- Windows, MacOS and Linux x64 w/ RyuJIT codegen is able to compile many complex apps.
- ASP.NET Core sample
- MonoGame sample
- Avalonia demo
- ADO.NET sample
- EntityFrameworkCore.Sqlite sample
- Unsupported features: Dynamic loading (e.g.
Assembly.LoadFile
), dynamic code generation (e.g.System.Reflection.Emit
), Windows-specific interop (e.g. COM, WinRT)
- Linux ARM w/ RyuJIT codegen: ElmSharp Hello Tizen application (detailed status)
- CppCodeGen (targets all platforms that support C++): Simple C# programs. The big missing features are garbage collection and exception handling.
- WebAssembly: Early prototype that compiles and runs very trivial programs only. Many features are not yet implemented.
Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.
Looking for something to work on? The up for grabs issues are a great place to start. Take a look at our documentation to find out about the architecture and learn how to build and test the repo.
This project follows the .NET Core Contribution Guidelines.
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) [email protected]. You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Further information, including the MSRC PGP key, can be found in the Security TechCenter.
The CoreRT Repo is licensed under the MIT license.
CoreRT is a .NET Foundation project.
This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information, see the .NET Foundation Code of Conduct.
There are many .NET related projects on GitHub.
- The .NET home repo links to 100s of .NET projects, from Microsoft and the community.
- The ASP.NET Core repo is the best place to start learning about ASP.NET Core.