The build configurations are generally defaulted based on where you are building (i.e. which OS or which architecture) but we have a few shortcuts for the individual properties that can be passed to the build scripts:
-- `-framework|-f` identifies the target framework for the build. It defaults to latest `netcoreapp` but possible values include `netcoreapp` (Which will map to latest netcoreapp) or `net472`. (msbuild property `TargetGroup`)
+- `-framework|-f` identifies the target framework for the build. Possible values include `netcoreapp5.0` (currently the latest .NET Core version) or `net472`. (msbuild property `TargetFramework`)
- `-os` identifies the OS for the build. It defaults to the OS you are running on but possible values include `Windows_NT`, `Unix`, `Linux`, or `OSX`. (msbuild property `OSGroup`)
- `-configuration|-c Debug|Release` controls the optimization level the compilers use for the build. It defaults to `Debug`. (msbuild property `ConfigurationGroup`)
- `-arch` identifies the architecture for the build. It defaults to `x64` but possible values include `x64`, `x86`, `arm`, or `arm64`. (msbuild property `ArchGroup`)
- Building for different target frameworks (restore and build are implicit again as no action is passed in)
```bash
-./build.sh -subsetCategory libraries -framework netcoreapp
+./build.sh -subsetCategory libraries -framework netcoreapp5.0
./build.sh -subsetCategory libraries -framework net472
```
**Examples**
-- Build project for Linux for netcoreapp
+- Build project for Linux for .NET Core
```
dotnet build System.Net.NetworkInformation.csproj /p:OSGroup=Linux
```