Awesome
.NET Runtime Lab
This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo. Encouraging .NET Runtime Experiments describes reasons that motivated creating this repository.
Active Experimental Projects
Currently, this repo contains the following experimental projects:
- Utf8String - A new UTF-8 String data type in the runtime.
- FreeBSD - Port of .NET runtime to FreeBSD
- NativeAOT-LLVM - LLVM generation for Native AOT compilation (including Web Assembly)
- NativeAOT-Mint - Mono interpreter ported to Native AOT for dynamic execution support
- ManagedQuic - Fully managed implementation of QUIC protocol
- LLHTTP - a set of flexible, lower-level HTTP APIs.
- CompatibilityPackages - a set of packages which help satisfy binary dependencies of .NETFramework assemblies on .NET.
- Hot-Cold Splitting - Support the hot-cold splitting optimization in crossgen2.
- ManagedZLib - Fully managed implementation of DEFLATE algorithm and GZip/ZLib envelope formats.
- Async - Move support for async state machine generation from the C# compiler to the runtime.
- SwiftBindings - Swift bindings for .NET.
- CoreCLR Interpreter - An interpreter for CoreCLR.
You can create your own experiment, learn more here!
Completed Projects
- s390x - Port of .NET runtime (Mono) to the s390x architecture. The changes were upstreamed to dotnet/runtime.
- DllImportGenerator - Roslyn Source Generator used for generating P/Invoke IL stubs.
- NativeAOT - .NET runtime optimized for ahead of time compilation.
- JsonCodeGen - Code generation for JSON.
- AssemblyBuilder.Save() - Prototyping the implementation of AssemblyBuilder.Save() functionality.
- Green Threads - Prototyping the implementation of green threads.
- NativeAOT for Android - Prototyping the Native AOT for Android apps and Java interop layer.
Filing issues
This repo should contain issues that are tied to the experiments hosted here.
For other issues, please use the following repos:
- For .NET Runtime issues, file in the dotnet/runtime repo
- For .NET SDK issues, file in the dotnet/sdk repo
- For ASP.NET issues, file in the dotnet/aspnetcore repo.
Reporting security issues and security bugs
Security issues and bugs should be reported privately, via email, to the Microsoft Security Response Center (MSRC) secure@microsoft.com. 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.
Also see info about related Microsoft .NET Core and ASP.NET Core Bug Bounty Program.
.NET Foundation
.NET Runtime 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.
License
.NET (including the runtime repo) is licensed under the MIT license.