Skip to content

New Contributors Guide

Dylan Dmitri Gray edited this page Jul 1, 2019 · 8 revisions

Hello! Thank you for helping out we really appreciate it! The infrastructure around projects can be intimidating; here's what I had to learn to work smoothly:

Installation

git clone https://github.com/aspnet/AspNetCore.git
cd AspNetCore
git submodule update --init --recursive
.\restore.cmd
. .\activate.ps1

(more details here)

(if restore fails complaining about Java JDK not being found, run eng\scripts\InstallJdk.ps1)

Opening a Project

Open VS by running .\startvs.cmd from a solution folder. This ensures that everything is configured correctly.

Writing Code

For small changes (typos, open bugs) just write and submit a PR. If there's a GitHub issue, please comment "hey I'm working on this". For anything but simple typos, code review takes multiple days and rounds of feedback. This is good and normal.

For larger changes, please open a conversation about what you want to build, and we will help you work through potential issues before you start coding.

(more details on how to contribute here)

(specific code patterns here)

If Unit Tests Won't Run

There's dlls locked by a zombie process. Use Task Manager (or Process Explorer) to find and kill it. Probably named "dotnet.exe".

If Stuff Is Generally Broken

Close VS, from the repo home re-run:

. .\activate.ps1
.\restore.cmd

If this doesn't work, first commit anything you want to keep, then

git clean -xdf -e .dotnet
.\build.cmd /t:Noop -norestore
. .\activate.ps1

If "Code Check" Has Failed on Your PR

Probably need to regen refs. Navigate to your solution directory and run

dotnet msbuild /t:GenerateReferenceSource