1. Project Overview & Quickstart (dotnet/runtime)
File: README.md
.NET Runtime
- What is .NET?
- How can I contribute?
- Reporting security issues and security bugs
- Filing issues
- Useful Links
- .NET Foundation
- License
This repo contains the code to build the .NET runtime, libraries and shared host (dotnet) installers for
all supported platforms, as well as the sources to .NET runtime and libraries.
What is .NET?
Official Starting Page: https://dotnet.microsoft.com
- How to use .NET (with VS, VS Code, command-line CLI)
- Install official releases
- Documentation (Get Started, Tutorials, Porting from .NET Framework, API reference, ...)
- Support (Releases, OS Versions, ...)
- Roadmap
How can I contribute?
We welcome contributions! Many people all over the world have helped make this project better.
- Contributing explains what kinds of contributions we welcome
- Workflow Instructions explains how to build and test
- Dogfooding .NET explains how to get nightly builds of the runtime and its libraries to test them in your own projects.
Reporting security issues and security bugs
Security issues and bugs should be reported privately to the Microsoft Security Response Center (MSRC) via the MSRC Researcher Portal. You should receive a response within 24 hours. Further information can be found in the Security TechCenter. You can also find these instructions in this repo's Security doc.
Also see info about related Microsoft .NET Bounty Program.
Filing issues
This repo should contain issues that are tied to the runtime, the class libraries and frameworks, the installation of the dotnet binary (sometimes known as the muxer) and the installation of the .NET runtime and libraries.
For other issues, please file them to their appropriate sibling repos. We have links to many of them on our new issue page.
Useful Links
- .NET source index / .NET Framework source index
- API Reference docs
- .NET API Catalog (incl. APIs from daily builds and API usage info)
- API docs writing guidelines - useful when writing /// comments
- .NET Discord Server - a place to discuss the development of .NET and its ecosystem
.NET Foundation
.NET Runtime is a .NET Foundation project.
There are many .NET related projects on GitHub.
- .NET home repoย - links to 100s of .NET projects, from Microsoft and the community.
- ASP.NET Core home - the best place to start learning about ASP.NET Core.
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.
General .NET OSS discussions: .NET Foundation Discussions
License
.NET (including the runtime repo) is licensed under the MIT license.
File: docs/README.md
Documents Index
This repo includes several documents that explain both high-level and low-level concepts about the .NET runtime and libraries. These are very useful for contributors, to get context that can be very difficult to acquire from just reading code.
Intro to .NET
.NET is a self-contained .NET runtime and framework that implements ECMA 335. It can be (and has been) ported to multiple architectures and platforms. It support a variety of installation options, having no specific deployment requirements itself.
Getting Started
Workflow (Building, testing, benchmarking, profiling, etc.)
If you want to contribute a code change to this repo, start here.
Design Docs
- Runtime feature designs under design/features
- Some runtime design can be found at dotnet/designs
The Book of the Runtime is a set of chapters that go in depth into various
interesting aspects of the design of the .NET Framework.
For your convenience, here are a few quick links to popular chapters:
For additional information, see this list of blog posts that provide a 'deep-dive' into the CoreCLR source code
Coding Guidelines
- CLR Coding Guide
- CLR JIT Coding Conventions
- Cross Platform Performance and Eventing Design
- Adding New Events to the VM
- C# coding style
- Framework Design Guidelines
- Cross-Platform Guidelines
- Performance Guidelines
- Interop Guidelines
- Breaking Changes
- Breaking Change Definitions
- Breaking Change Rules
- Project Guidelines
- Adding APIs Guidelines
Project Docs
- Breaking change process
- Copyright
- Linux build methodology
- Onboarding Guide for New Operating System Versions
- Project docs folder
Other Information
- .NET Glossary
- .NET Filename Encyclopedia
- Porting to .NET Core
- .NET Standards (Ecma)
- CLR Configuration Knobs
- CLR overview
- Wikipedia Entry for the CLR
2. Official Technical Reference & Guides (dotnet/dotnet-api-docs)
.NET API Reference Docs
This repository contains documentation for the .NET API reference for .NET 8+ and package-provided APIs. We track all work for this repository using GitHub issues. The documentation for APIs is built from the text and code snippets in this repo, and from the samples in the dotnet/samples repository.
For .NET Framework API reference, see the dotnet/dotnetfw-api-docs repository.
The repository for conceptual .NET documentation is the dotnet/docs repository.
:purple_heart: Contribute
We welcome contributions to help us improve and complete the .NET API reference docs.
To contribute, see:
The .NET Contributor Guide :ledger: for instructions on procedures we use.
Issues labeled
help wanted:label: for ideas.The API reference docs for some assemblies are maintained in the assembly's source code outside this repo. For those assemblies, edits to the XML here are auto-generated and ported, so docs for APIs in those assemblies should be updated by editing the source code comments. For more information, see here.
Namespaces and types whose docs are maintained in the assembly's source code repo set the
open_to_public_contributorsmetadata tofalse. (That metadata disables the Edit button on the published docs.)
:bookmark_tabs: Code of conduct
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.