1. Project Overview & Quickstart (dotnet/aspnetcore)
File: README.md
ASP.NET Core
ASP.NET Core is an open-source and cross-platform framework for building modern cloud-based internet-connected applications, such as web apps, IoT apps, and mobile backends. ASP.NET Core apps run on .NET, a free, cross-platform, and open-source application runtime. It was architected to provide an optimized development framework for apps that are deployed to the cloud or run on-premises. It consists of modular components with minimal overhead, so you retain flexibility while constructing your solutions. You can develop and run your ASP.NET Core apps cross-platform on Windows, Mac, and Linux. Learn more about ASP.NET Core.
Get started
Follow the Getting Started instructions.
Also check out the .NET Homepage for released versions of .NET, getting started guides, and learning resources.
See the Triage Process document for more information on how we handle incoming issues.
How to engage, contribute, and give feedback
Some of the best ways to contribute are to try things out, file issues, join in design conversations,
and make pull-requests.
- Download our latest daily builds
- Follow along with the development of ASP.NET Core:
- Community Standup: The community standup is held every week and streamed live on YouTube. You can view past standups in the linked playlist.
- Roadmap: The schedule and milestone themes for ASP.NET Core.
- Build ASP.NET Core source code
- Check out the contributing page to see the best places to log issues and start discussions.
Reporting security issues and 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 MSRC Report an Issue FAQ. You can also find these instructions in this repo's Security doc.
Also see info about related Microsoft .NET Bounty Program.
Related projects
These are some other repos for related projects:
- Documentation - documentation sources for https://learn.microsoft.com/aspnet/core/
- Entity Framework Core - data access technology
- Runtime - cross-platform runtime for cloud, mobile, desktop, and IoT apps
- Razor - the Razor compiler and tooling for working with Razor syntax (.cshtml, .razor)
Code of conduct
See CODE-OF-CONDUCT
Nightly builds
This table includes links to download the latest builds of the ASP.NET Core Shared Framework. Also included are links to download the Windows Hosting Bundle, which includes the ASP.NET Core Shared Framework, the .NET Runtime Shared Framework, and the IIS plugin (ASP.NET Core Module). You can download the latest .NET Runtime builds here, and the latest .NET SDK builds here. If you're unsure what you need, then install the SDK; it has everything except the IIS plugin.
| Platform | Shared Framework (Installer) | Shared Framework (Binaries) | Hosting Bundle (Installer) |
|---|---|---|---|
| Windows x64 | Installer | Binaries | Installer |
| Windows x86 | Installer | Binaries | Installer |
| Windows arm64 | Installer | Binaries | Installer |
| macOS x64 | N/A | Binaries | N/A |
| macOS arm64 | N/A | Binaries | N/A |
| Linux x64 | Deb Installer - RPM Installer | Binaries | N/A |
| Linux arm | N/A | Binaries | N/A |
| Linux arm64 | RPM Installer | Binaries | N/A |
| Linux-musl-x64 | N/A | Binaries | N/A |
| Linux-musl-arm | N/A | Binaries | N/A |
| Linux-musl-arm64 | N/A | Binaries | N/A |
File: docs/README.md
Contributor documentation
The primary audience for documentation in this folder is contributors to ASP.NET Core.
If you are looking for documentation on how to use ASP.NET Core, go to https://docs.asp.net.
:bulb: If you're a new contributor looking to set up the repo locally, the build from source documentation is the best place to start.
The table below outlines the different docs in this folder and what they are helpful for.
| Documentation | What is it about? | Who is it for? |
|---|---|---|
| API review process | Outlines the process for reviewing API changes in ASP.NET Core | Anyone looking to understand the process for making API changes to ASP.NET Core |
| Artifacts structure | Outlines the artifacts produced by the build | Anyone looking to understand artifacts produced from an Azure DevOps build |
| Troubleshooting build errors | Common errors that occur when building the repo and how to resolve them | Anyone running into an issue with the build |
| Building from source | Setup instructions for the ASP.NET Core repo | First-time contributors |
| Working with EventSources and EventCounters | Guidance on adding event tracing to a library | Anyone needing to add event tracing for diagnostics purposes |
| List of Diagnostics | List of diagnostic codes used in repo | Anyone needing to add new codes for diagnostics purposes |
| Tests on Helix | An overview of the Helix test environment | Anyone debugging tests in Helix or looking to understand the output from Helix builds |
| Issue management | Overview of policies in place to manage issues | Community members and collaborators looking to understand how we handle closed issues, issues that need author feedback, etc |
| Preparing a patch update | Documentation on how to setup for a patch release of ASP.NET Core | Anyone looking to publish servicing updates |
| Project properties | Overview of configurable MSBuild properties on the repo | Anyone looking to modify how a project is packaged |
| How references are resolved | Overview of dependency reference setup in the repo | Anyone looking to understand how package references are configured in the repo |
| Servicing changes | Documentation on how to submit servicing PRs to previous releases | Anyone to submit patches or backports to prior releases, contains the "Shiproom Template" |
| Shared framework | Overview of the ASP.NET Core Shared framework | Anyone looking to understand the policies in place for managing the code of the shared framework |
| Submodules | Documentation on working with submodules in Git | Anyone working with submodules in the repo |
| Triage process | Overview of the issue triage process used in the repo | Anyone looking to understand the triage process on the repo |
| Updating Major Version & TFM | Instructions for updating the repo branding & TFM in preparation for a new major release | Repo developers who want to know more about our branding & release process |
| Assembly trimming guide | Guidance on adding trimming support to an ASP.NET Core assembly | Repo developers who want to help add support for trimming to ASP.NET Core |
| Adding new Projects to the Repo | Outlines the process of adding new projects (i.e. .csproj files) to the repo |
Anyone who finds themselves trying to add a new project and including it in the build. |
| Using WebTransport in Kestrel | Outlines how to setup Kestrel to use WebTransport | Anyone looking to support WebTransport |
| Benchmarking | Instructions on how to benchmark PRs and local changes | .NET team |
2. Official Technical Reference & Guides (dotnet/docs)
.NET Docs
This repository contains the conceptual documentation for .NET. The .NET documentation site is built from multiple repositories:
- .NET docs
- ASP.NET Core docs
- .NET Desktop workloads docs
- .NET MAUI docs
- Entity Framework docs
- Community toolkit
API reference documentation is published from the following repositories:
- .NET API reference
- .NET MAUI API reference
- Android API reference
- Entity Framework 6/Core API reference
- Roslyn API reference
- Community toolkit API reference
These API reference doc repositories are public. Only some accept issues and pull requests. Others are pass-through repositories because API reference is generated directly from the /// in the product source. Some folders in dotnet-api-docs use the product repository as the source of truth.
The C# language specification documentation comes from the following two repositories:
Our team's tasks are tracked in our project boards. You'll see monthly sprint projects, along with long-running projects for major documentation updates. The projects contain documentation issues across the repositories that build .NET docs. Issues are tracked in the relevant repositories. We have a large community using these resources. We make our best effort to respond to issues in a timely fashion. To create a new issue, click the "Open a documentation issue" button at the bottom of any of our published docs, or choose one of the available templates. The control at the bottom of each article automatically routes you to the correct repo and fills in some relevant information based on the article.
:purple_heart: Contribute
We welcome contributions to help us improve and complete the .NET docs. This is a very large repo, covering a large area. If this is your first visit, see the Contributor guide for information on working with us. Look for issues labeled help wanted :label: for ideas to get started.
Before submitting a PR with 3rd party dependencies, see our policy on 3rd party dependencies.
We work to merge or close PRs in a timely fashion. We regularly review and approve PRs. We encourage contributors to respond to comments in a similar timely fashion. Many times, reviews identify small changes such as spelling or grammar issues, or word choice. Maintainers can accept those suggestions and merge the PR. In other situations, maintainers ask for more significant changes before a PR is ready to merge. We expect contributors to make those changes. Maintainers will help by answering questions or pointing to other resources, if needed.
We consider PRs to be abandoned when they've had no activity (either commits or discussion) in the past 30 days. Team members will close PRs that have been abandoned. Contributors can reopen and continue to work.
: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.
:octocat: GitHub Action workflows
- : Adds a comment to PRs that were not automated, but rather manually created that target the
livebranch. - : Automatically approves and auto-merges PRs originating from the
dependabbot[bot]. - : Creates a PR to generate the "What's new" article on the first of every month.
- : The current status for the entire repositories Markdown linter status.
- : Runs various Markdown verifications, beyond the linter, such as ensuring links and redirects are valid.
- : Builds the site for the PR in context, and verifies the build reporting either,
success,warnings, orerror. - : Custom .NET build validation, locates code impacted by a PR, and builds.
- : Runs monthly, creating issues on projects that target .NET versions that are out of support.
- : Automatically updates the
dependabotconfiguration weekly, but only if required. - : Automatically synchronizes issues with Quest (Azure DevOps).
- : Manual bulk import of issues into Quest (Azure DevOps).