33e19c8934 | ||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
azure-pipelines | ||
src | ||
test | ||
tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
Apply-Template.ps1 | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
Directory.Build.props | ||
Directory.Build.rsp | ||
Directory.Build.targets | ||
Expand-Template.cmd | ||
Expand-Template.ps1 | ||
LICENSE | ||
Library.sln | ||
README.md | ||
SECURITY.md | ||
SUPPORT.md | ||
azure-pipelines.yml | ||
global.json | ||
init.cmd | ||
init.ps1 | ||
nuget.config | ||
stylecop.json | ||
version.json |
README.md
Your Library
An awesome template for your awesome library
Features
- Follow the best and simplest patterns of build, pack and test with dotnet CLI.
- Init script that installs prerequisites and auth helpers, supporting both non-elevation and elevation modes.
- Static analyzers: FxCop and StyleCop
- Read-only source tree (builds to top-level bin/obj folders)
- Auto-versioning (via Nerdbank.GitVersioning)
- Builds with a "pinned" .NET Core SDK to ensure reproducible builds across machines and across time.
- Automatically pack the library and publish it as an artifact, and even push it to some NuGet feed for consumption.
- Testing
- Testing on .NET Framework, multiple .NET Core versions
- Testing on Windows, Linux and OSX
- Tests that crash or hang in Azure Pipelines automatically collect dumps and publish as a pipeline artifact for later investigation.
- Cloud build support
- YAML based build for long-term serviceability, and PR review opportunities for any changes.
- Azure Pipelines and GitHub Action support
- Emphasis on PowerShell scripts over reliance on tasks for a more locally reproducible build.
- Code coverage published to Azure Pipelines
- Code coverage published to codecov.io so GitHub PRs get code coverage results added as a PR comment
- MicroBuild ready
- MicroBuild signing built-in, with several more MicroBuild plugins' use streamlined for local installation via a switch passed to
init.ps1
. - Insertions to VS streamlined and automated with all inputs computed during the build and saved for the release pipeline.
- MicroBuild signing built-in, with several more MicroBuild plugins' use streamlined for local installation via a switch passed to
Consumption
Once you've expanded this template for your own use, you should run the Expand-Template.ps1
script to customize the template for your own project.
Further customize your repo by:
- Verify the license is suitable for your goal as it appears in the LICENSE and stylecop.json files and the Directory.Build.props file's
PackageLicenseExpression
property. - Reset or replace the badges at the top of this file.