Headless.NET.Sdk.WindowsDesktop 0.2.0

There is a newer version of this package available.
See the version list below for details.
<Sdk Name="Headless.NET.Sdk.WindowsDesktop" Version="0.2.0" />
                    
For projects that support Sdk, copy this XML node into the project file to reference the package.
#:sdk Headless.NET.Sdk.WindowsDesktop@0.2.0
                    
#:sdk directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.

Headless.NET.Sdk.WindowsDesktop

The WPF and Windows Forms wrapper: Microsoft.NET.Sdk.WindowsDesktop plus the complete Headless build baseline. It is available to any compatible .NET project and is not specific to Headless Framework.

Use

Headless does not restrict TargetFramework; Microsoft.NET.Sdk.WindowsDesktop and the installed Windows targeting packs determine compatibility.

<Project Sdk="Headless.NET.Sdk.WindowsDesktop/x.y.z">
  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>
</Project>

Direct PackageReference consumption uses Microsoft.NET.Sdk.WindowsDesktop:

<PackageReference Include="Headless.NET.Sdk.WindowsDesktop" Version="x.y.z" PrivateAssets="all" />

Additional-SDK, global.json MSBuild SDK resolution, and .NET 10 #:sdk Headless.NET.Sdk.WindowsDesktop@x.y.z consumption are also supported. See the family consumption reference.

For a .NET 10 file app, this wrapper preserves the Headless Windows Desktop identity over the base Microsoft SDK. A single source file cannot author WPF or Windows Forms project items, and importing the legacy Windows Desktop wrapper there would only produce NETSDK1137 and NETSDK1106. Normal projects continue to use Microsoft.NET.Sdk.WindowsDesktop with UseWPF or UseWindowsForms.

Windows Desktop contract

The package sets HeadlessSdkProjectType=WindowsDesktop and defaults IsPackable=true. Consumers still select UseWPF or UseWindowsForms and a compatible Windows TFM. Use HeadlessEnforceConfigureAwait=true when a library must surface CA2007 for synchronization-context correctness.

The package preserves the mandatory Headless analyzer infrastructure, configurable banned-API policy, audit, CI, symbol, SBOM, and direct-opt-in policies. It is self-contained and ships no buildTransitive assets.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.2.1 29 8/3/2026
0.2.0 38 8/2/2026