Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI

1734
770
C#

Welcome to dotnet sdk

This repository contains core functionality needed to create .NET projects that are shared between Visual Studio and the .NET CLI.

See dotnet/project-system for the project system work that is specific to Visual Studio.

Common project and item templates are found in template_feed.

Build status

Windows x64

Installing the SDK

Official builds

Latest builds

How do I engage and contribute?

We welcome you to try things out, file issues, make feature requests and join us in design conversations. Be sure to check out our project documentation

This project has adopted the .NET Foundation Code of Conduct to clarify expected behavior in our community.

How do I build the SDK?

Start with the Developer Guide.

How do I test an SDK I have built?

To test your locally built SDK, run eng\dogfood.cmd after building. That script starts a new Powershell with the environment configured to redirect SDK resolution to your build.

From that shell your SDK is available in:

  • any Visual Studio instance launched via & devenv.exe
  • dotnet build
  • msbuild

How do I determine the timeline I must follow to get my changes in for a specific version of .NET?

Please see the Pull Request Timeline Guide.

How we triage and review PRs

With the SDK repository being the home for many different areas, we’ve started trying to label incoming issues for the area they are related to using Area- labels. Then we rely on the codeowners to manage and triages issues in their areas. Feel free to contact the owners listed in that file if you’re not getting a response on a particular issue or PR. Please try to label new issues as that’ll help us route them faster.

For issues related to the central SDK team, typically they are assigned out to a team member in the first half of each week. Then each member is asked to review and mark those needing further discussion as “needs team triage” and otherwise setting a milestone for the issue. Backlog means we will consider it in the future if there is more feedback. Discussion means we have asked for more information from the filer. All other milestones indicate our best estimate for when a fix will be targeted for noting that not all issues will get fixed. If you are not getting a quick response on an issue assigned to a team member, please ping them.

The example query used for triage of .NET SDK issues can be viewed here

For PRs, we assign a reviewer once a week on Wednesday, looking only at PRs that are green in the build. If you are contributing:

  • Get the PR green.
  • Include a test if possible.
  • Mention @dotnet-cli if you want to raise visibility of the PR.