Skip to content
Purview Dev logo

Build SDK

Stable

Convention-driven MSBuild SDK for .NET project defaults.

central-package-management code-style csharp developer-experience developer-tooling devex dotnet msbuild msbuild-sdk nuget project-templates roslyn roslyn-analyzers roslyn-generators tunit xunit

The problem

A reusable MSBuild SDK NuGet package that delivers standardised .NET project defaults, code-style enforcement, test-framework wiring, and Central Package Management integration. Install it once per repo; every project beneath the repo root inherits everything automatically.

From the repository

A reusable MSBuild SDK providing convention-driven .NET project defaults, code style, analyzers, testing frameworks, package management, and agent tooling.

Why it became a project

Repeating project properties, analyzers, test wiring, and package-management conventions in every repository made a centrally maintained MSBuild SDK the simpler option.

Where it fits

Use it when

You want Purview's standard .NET project defaults applied consistently across an entire repository from one versioned SDK declaration.

It may not fit when

Your repository follows different conventions or needs project-by-project control over the settings the SDK intentionally standardises.

Use cases

Concrete examples of what Build SDK does, and who each one is for.

Team lead

Apply repository-wide defaults from one declaration

You want standard .NET project defaults, code-style enforcement, test wiring, and central package management without repeating the same properties in every project.

json
{
  "msbuild-sdks": {
    "Purview.BuildSdk": "1.0.0"
  }
}

What you get: Install the SDK once via global.json and Directory.Build.props; every project beneath the repository root inherits everything automatically.

One versioned SDK declaration replaces per-project property groups, so conventions are upgraded in one place.

Read the guide →
Contributor

Bootstrap a new repository

You are starting a repository and want the organisation's conventions in place before the first project exists.

What you get: The SDK can bootstrap a global.json at the repository root when one is missing, then applies project-type detection, analyzers, and test wiring.

Repository bootstrap, analyzers, and testing wiring are documented and generated, not copied between repos by hand.

Read the guide →

Packages

1 package

Purview.BuildSdkInstall ↓1.2.0—2,371

Install

Pin the SDK for the whole repository.

global.json
{
  "msbuild-sdks": {
    "Purview.BuildSdk": "1.2.0"
  }
}