Nukepayload2.UI.VBWinUI3
0.11.0-beta
dotnet add package Nukepayload2.UI.VBWinUI3 --version 0.11.0-beta
NuGet\Install-Package Nukepayload2.UI.VBWinUI3 -Version 0.11.0-beta
<PackageReference Include="Nukepayload2.UI.VBWinUI3" Version="0.11.0-beta"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="Nukepayload2.UI.VBWinUI3" Version="0.11.0-beta" />
<PackageReference Include="Nukepayload2.UI.VBWinUI3"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add Nukepayload2.UI.VBWinUI3 --version 0.11.0-beta
#r "nuget: Nukepayload2.UI.VBWinUI3, 0.11.0-beta"
#:package Nukepayload2.UI.VBWinUI3@0.11.0-beta
#addin nuget:?package=Nukepayload2.UI.VBWinUI3&version=0.11.0-beta&prerelease
#tool nuget:?package=Nukepayload2.UI.VBWinUI3&version=0.11.0-beta&prerelease
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.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Nukepayload2.UI.VBWinUI3.XamlCompiler (>= 3.0.0-dev.260913.10)
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 |