Nukepayload2.UI.VBWinUI3 0.11.0-beta

This is a prerelease version of Nukepayload2.UI.VBWinUI3.
dotnet add package Nukepayload2.UI.VBWinUI3 --version 0.11.0-beta
                    
NuGet\Install-Package Nukepayload2.UI.VBWinUI3 -Version 0.11.0-beta
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nukepayload2.UI.VBWinUI3" Version="0.11.0-beta">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nukepayload2.UI.VBWinUI3" Version="0.11.0-beta" />
                    
Directory.Packages.props
<PackageReference Include="Nukepayload2.UI.VBWinUI3">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nukepayload2.UI.VBWinUI3 --version 0.11.0-beta
                    
#r "nuget: Nukepayload2.UI.VBWinUI3, 0.11.0-beta"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nukepayload2.UI.VBWinUI3@0.11.0-beta
                    
#:package 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.
#addin nuget:?package=Nukepayload2.UI.VBWinUI3&version=0.11.0-beta&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Nukepayload2.UI.VBWinUI3&version=0.11.0-beta&prerelease
                    
Install as a Cake Tool

Nukepayload2.UI.VBWinUI3

WinUI 3 build support for Visual Basic projects: the MSBuild workarounds a VB project needs, plus the custom XAML compiler whose VB code generators are fixed.

https://github.com/Nukepayload2/VbWinUI3Demos

Usage

<ItemGroup>
  <PackageReference Include="Microsoft.WindowsAppSDK" Version="2.2.0" />
  <PackageReference Include="Nukepayload2.UI.VBWinUI3" Version="0.11.0-beta" />
</ItemGroup>

That is the whole integration. The package's props and targets are named after the package id, so NuGet imports them from buildTransitive\ - do not Import them by hand, and do not copy anything from the repository. Nukepayload2.UI.VBWinUI3.XamlCompiler comes in as a dependency, so the XAML compiler is redirected to the fork without any further reference.

What it applies

ImportFrameworkWinFXTargets=true keeps WPF's framework targets out of the project
VBRuntime=None before XamlPreCompile works around XAML pre-compile errors
WindowsAppSdkAutoInitialize / WindowsAppSdkUndockedRegFreeWinRTInitialize off, plus buildTransitive\include\UndockedRegFreeWinRTAutoInitializer.vb unpackaged self-contained apps (WindowsAppSDKSelfContained=true) load the Windows App SDK runtime

Set VBWinUI3XamlCompilerEnabled=false to keep the stock XAML compiler instead of the fork's. To pin a different compiler build, reference Nukepayload2.UI.VBWinUI3.XamlCompiler directly - a direct reference wins over the dependency.

Upgrading from 0.9.4-beta

0.10.0-beta no longer defines DISABLE_XAML_GENERATED_MAIN: the compiler generates Program and Sub Main itself, so delete the entry point you had to write by hand - keeping it duplicates the entry point and fails the build. Define DISABLE_XAML_GENERATED_MAIN yourself if you want the old behaviour.

Status

Beta. Built and tested against Microsoft.WindowsAppSDK 2.2.0, net10.0-windows10.0.19041.0, with both dotnet build (Core MSBuild) and Visual Studio (desktop MSBuild).

Contributing

Issues related to WinUI 3 itself belong to the official Windows App SDK repository.

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.11.0-beta 48 9/13/2026
0.10.0-beta 47 9/13/2026
0.9.4-beta 581 11/13/2025