Gallery

msbuild-sdks

msbuild-sdks

My experimental MSBuild Sdk nuget packages

MSBuild SDKs

MSBuild SDKs are used to configure and extend your build. MSBuild 15.0 introduced a concept of an SDK which is an upgraded project XML Schema that we commonly refer as 'SDK-style' project. So MSBuild 15.0 and above is needed for the following SDKs

Available SDKs

MSBuild-SDKs

MSBuild.Core.Sdk

Supports projects that do not compile to an assembly. This is usually the base SDK for other SDKs listed here.

MSBuild.NET.Legacy.Sdk

Supports only .NET Framework (Windows). Contains the original .NET Framework Build files that were included with MSBuild. Use them to slowly migrate your legacy projects to SDK-style.

MSBuild.NET.DefaultItems

An MSBuild Extension package for including various platfroms' (Android, Apple, Tizen, Web, Windows) default build items etc... in .NET projects. You can use this package in any SDK-style projects that extends Microsoft.NET.Sdk like MSBuild.NET.Extras.Sdk, etc...

MSBuild.NET.DefaultItems MSBuild.NET.DefaultItems

MSBuild.NET.Extras.Sdk

Adds a few extra extensions to the SDK-style projects that are currently not available in Microsoft.NET.Sdk SDK. This feature is being tracked in dotnet/sdk#491

MSBuild.NET.Extras.Sdk MSBuild.NET.Extras.Sdk

NuGet.Packaging.Sdk

Supports NuGet Restore/Pack Tasks and Package authoring. It's basically an SDK wrappper around NuGet.Build.Packaging aka NuGetizer-3000 project, with NuGet Restore and Pack targets optimized for SDK-style.

Working

An MSBuild SDK, in a nutshell, is a packaged and versioned set of MSBuild tasks, props and targets that offer a specific set of functionalities to any project/solution build.

These SDK-style projects looks like:

<Project Sdk="MSBuild.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net46</TargetFramework>
  </PropertyGroup>
</Project>

At evaluation time, MSBuild adds implicit imports at the top and bottom of the project like this:

<Project>
  <Import Project="Sdk.props" Sdk="MSBuild.NET.Sdk"/>

  <PropertyGroup>
    <TargetFramework>net46</TargetFramework>
  </PropertyGroup>

  <Import Project="Sdk.targets" Sdk="MSBuild.NET.Sdk"/>
</Project>

By default, MSBuild requires that the SDKs must be installed prior to using them. But, for MSBuild 15.6 and above, the SDKs can be referenced as NuGet packages instead. More documentation is available here.

Contributing (TBA)

Read more...

Connect to feed

By: Nirmal Guru

Total download count: 0

Readonly