diff --git a/README.md b/README.md index 17777afd..2618b2e7 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,32 @@ Supports utility projects that do not compile an assembly. Supports staging artifacts from build outputs. -## What Are MSBuild SDKS? +## How can I use these SDKs? + +When using an MSBuild Project SDK obtained via NuGet (such as the SDKs in this repo) a specific version **must** be specified. + +Either append the version to the package name: + +```xml + + ... +``` + +Or omit the version from the SDK attribute and specify it in the version in `global.json`, which can be useful to synchronise versions across multiple projects in a solution: + +```json +{ + "msbuild-sdks": { + "Microsoft.Build.Traversal" : "2.0.12" + } +} +``` + +Since MSBuild 15.6, SDKs are downloaded as NuGet packages automatically. Earlier versions of MSBuild 15 required SDKs to be installed. + +For more information, [read the documentation](https://docs.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk). + +## What are MSBuild SDKS? MSBuild 15.0 introduced new project XML for .NET Core that we refer to as SDK-style. These SDK-style projects looks like: ```xml @@ -54,10 +79,6 @@ At evaluation time, MSBuild adds implicit imports at the top and bottom of the p ``` -More documentation is available [here](https://docs.microsoft.com/visualstudio/msbuild/how-to-use-project-sdk). - -Older versions of MSBuild 15 required that SDKs be installed prior to using them. In MSBuild 15.6 and above, the SDKs are downloaded as NuGet packages instead. - # Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a