# setup-dotnet
This action sets up a dotnet environment for use in actions by:
- optionally downloading and caching a version of dotnet by SDK version and adding to PATH
- registering problem matchers for error output
# Usage
See [action.yml](action.yml)
##Basic:
```yaml
steps:
- uses: actions/checkout@master
- uses: actions/setup-dotnet@v1
with:
dotnet-version: '2.2.103' # SDK Version to use.
- run: dotnet build
```
##Matrix Testing:
```yaml
jobs:
build:
runs-on: ubuntu-16.04
strategy:
matrix:
dotnet: [ '2.2.103', '3.0.100-preview8-013656', '4.5.1' ]
name: Dotnet ${{ matrix.dotnet }} sample
steps:
- uses: actions/checkout@master
- name: Setup dotnet
uses: actions/setup-dotnet@v1
with:
dotnet-version: ${{ matrix.dotnet }}
- run: dotnet build
```
##Publishing a standalone copy for Release execution (include all dependencies):
```yaml
steps:
- uses: actions/checkout@v1
- uses: actions/setup-dotnet@v1
- name: Restore NuGet Packages
run: dotnet restore
- name: Build + Publish with dotnet
run: dotnet publish --configuration Release
```
##Publishing a standalone copy for Release execution (include all dependencies with specified NuGet sources):
```yaml
steps:
- uses: actions/checkout@v1
- uses: actions/setup-dotnet@v1
- name: Restore NuGet Packages from nuget.config
run: dotnet restore --configfile nuget.config
- name: Build + Publish with dotnet
run: dotnet publish --configuration Release
```
###Your nuget.config may look like so, just add your sources under the default source
```xml
```
# License
The scripts and documentation in this project are released under the [MIT License](LICENSE)
# Contributions
Contributions are welcome! See [Contributor's Guide](docs/contributors.md)