4.9 KiB
How to contribute
One of the easiest ways to contribute is to participate in discussions and discuss issues. You can also contribute by submitting pull requests with code changes.
General feedback and discussions?
Please start a discussion on the ConfigurationBuilders repo issue tracker.
Bugs and feature requests?
For non-security related bugs please log a new issue on the ConfigurationBuilders repo issue tracker.
Reporting security issues and 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.
Filing issues
When filing issues, please use our bug filing templates. The best way to get your bug fixed is to be as detailed as you can be about the problem. Providing a minimal project with steps to reproduce the problem is ideal. Here are questions you can answer before you file a bug to make sure you're not missing any important information.
- Did you read the documentation?
- Did you include the snippet of broken code in the issue?
- What are the EXACT steps to reproduce this problem?
- What version Powershell are you using?
- What version of VS (including update version) are you using?
GitHub supports markdown, so when filing bugs make sure you check the formatting before clicking submit.
Contributing code and content
Obtaining the source code
If you are an outside contributer, please fork the repository. See the GitHub documentation for forking a repo if you have any questions about this.
Building the source code
To build the project and run tests, you need to register the public key token for verification skip:
- Open a Visual Studio developer prompt as administrator.
- Run `sn -Vr *,31bf3856ad364e35
- Run
build.cmd
to restore NuGet packages, build the solution, and run tests.
MSB3276 -or- Updating binding redirects in SampleWebApp
These projects are not SDK-style projects. The sample web application will not be able to load all the dependent assemblies for it's project references without a complete set of binding redirects, and you might see a 'MSB3276' warning in the build output. Visual Studio can generate this list automatically, but it has no affect when running the sample site because the bindings are placed in a *.dll.config file instead of web.config.
To update the bindings in web.config, set the UpdateBindingRedirectsAfterBuild
property in the
SampleWebApp.csproj
file to 'true'
, then rebuild the web site. You will still see the build warning when you first build because the bindings are not updated until after the build.
Subsequent builds should no longer see the warning. This step only needs to be done once after updating any dependencies, so don't forget to unset the
UpdateBindingRedirectsAfterBuild
property when you're done.
Submitting a pull request
You will need to sign a Contributor License Agreement when submitting your pull request. To complete the Contributor License Agreement (CLA), you will need to follow the instructions provided by the CLA bot when you send the pull request. This needs to only be done once for any Microsoft OSS project.
If you don't know what a pull request is read this article: https://help.github.com/articles/using-pull-requests. Make sure the respository can build and all tests pass.
Commit/Pull Request Format
Summary of the changes (Less than 80 chars)
- Detail 1
- Detail 2
Addresses #bugnumber (in this specific format)
Tests
- Tests need to be provided for every bug/feature that is completed.
- Tests only need to be present for issues that need to be verified by QA (e.g. not tasks)
- If there is a scenario that is far too hard to test there does not need to be a test for it.
- "Too hard" is determined by the team as a whole.
Feedback
Your pull request will now go through extensive checks by the subject matter experts on our team. Please be patient; we have hundreds of pull requests across all of our repositories. Update your pull request according to feedback until it is approved by one of the ASP.NET team members. After that, one of our team members will add the pull request to dev.