Skip to content
CAI
Software that uses CAICheck a score

Nukepayload2/VbWinUI3Demos

52.3

Adequate · 1 October 2026

19k

lines of production code

VB.NET

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system provides tooling and infrastructure to enable Visual Basic .NET development for WinUI 3 applications, primarily through a custom XAML compiler and MSBuild targets that handle code generation and build requirements. It includes a C\#-to-VB conversion utility that integrates into the build pipeline to automatically translate XAML-generated code, allowing VB projects to consume C\#-based XAML resources. The repository also contains a sample batch video conversion application built with these technologies to demonstrate GPU acceleration and modern UI capabilities.

How it got here

2021 — WinUI 3 migration and VB support

5 changes.

The project migrated the BatchFfmpegWinUI application from Windows Forms to WinUI 3, upgrading to .NET 10 and the Windows App SDK 2.5.1 to enable GPU acceleration and modern theming. Concurrently, it introduced tooling and MSBuild targets to support Visual Basic .NET projects with WinUI 3, including a custom XAML compiler and C\#-to-VB conversion utilities.

2022–2025 — WinUI 3 Visual Basic support

7 changes.

This period focused on establishing comprehensive Visual Basic support for WinUI 3 projects by introducing a dedicated XAML-to-VB conversion toolchain and MSBuild targets. The work included creating the XamlLanguageConverter infrastructure for in-place code conversion, developing the WinUIVbTargetPack to handle compiler and runtime requirements, and validating the ecosystem by converting the WinUI Gallery sample application.

Features

Add WinUI 3 MSBuild targets for C\# to VB XAML conversion

Introduces a new MSBuild targets file for the WinUI 3 project that hooks into the XAML compilation pipeline. The targets automatically convert generated C\# XAML code to VB.NET in-place during the build process, allowing VB projects to consume XAML resources originally authored in C\# without manual intervention or separate conversion steps.

XamlLanguageConverter/XamlLanguageConverter.WinUI3 · high confidence

Add WinUI 3 build support for Visual Basic projects

The new WinUIVbTargetPack package provides MSBuild workarounds and a custom XAML compiler to enable WinUI 3 development in Visual Basic. It automatically redirects the XAML compiler to a fork with fixed VB code generators, handles framework target conflicts, and manages runtime initialization for unpackaged apps. Users upgrading from version 0.9.4-beta must remove any manual entry points, as the compiler now generates \Sub Main\ by default.

WinUIVbTargetPack · high confidence

Added RegFree WinRT auto-initializer template

A new Visual Basic template file (UndockedRegFreeWinRTAutoInitializer.vb) has been added to the include directory. This file provides an auto-generated module that sets the MICROSOFT\_WINDOWSAPPRUNTIME\_BASE\_DIRECTORY environment variable and calls WindowsAppRuntime\_EnsureIsLoaded from Microsoft.WindowsAppRuntime.dll, enabling RegFree WinRT support for projects using this template.

include · high confidence

Introduce WinUI 3-based batch video converter with GPU acceleration and Mica/Acrylic theming

The application has been rewritten from Windows Forms to WinUI 3, providing a modern interface with Mica and Acrylic backdrop support on Windows 11 and fallback to Acrylic on Windows 10. Users can now batch-convert videos using a drag-and-drop list with per-item progress bars, selecting from multiple output formats including AV1, H.265, H.264, and AAC audio extraction. The converter supports NVIDIA GPU acceleration for faster processing, allows configuration of parallel conversion threads, and offers CPU priority settings to prefer performance cores or efficiency cores. The UI includes teaching tips for new users, auto-scrolling during conversion, and a robust error handling system with detailed technical dialogs.

BatchFfmpegWinUI · high confidence

VB WinUI 3 support via custom XAML compiler and MSBuild targets

This change introduces support for using WinUI 3 in Visual Basic .NET projects by integrating a forked XAML compiler (vbxamlc) and providing MSBuild targets (WinUI3.VisualBasic.props/targets) that handle VB-specific build requirements. Key capabilities include automatic generation of the \Sub Main\ entry point (removing the need for a manual \Program.vb\), support for \x:Bind\ data binding, and the ability to run apps self-contained without MSIX packaging or Windows Forms host integration. The repository also includes a sample application (\BatchFfmpegWinUI\) demonstrating these features, updated to target Windows App SDK 2.5.1 and Visual Studio 2026.

(repo-wide) · high confidence

XAML language converter project structure established

The XamlLanguageConverter area now includes a dedicated Visual Studio solution file that organizes the converter logic, a WinUI3-specific project, and associated utility libraries (ProgressReportLibrary, ObjectPoolLibrary) sourced from the CSharpToVB-Backports submodule. This structure isolates the conversion assemblies and provides the build configuration necessary for the XAML-to-VB conversion capability.

XamlLanguageConverter · high confidence

Removals

Removal of H.265 batch conversion script

The H265.bat file, which previously allowed users to batch convert video files to the H.265 (HEVC) format using NVIDIA's NVENC encoder, has been removed from the application. Users can no longer perform this specific type of video conversion via this script.

_BatchFfmpegWinUI\Pack/BatchFfmpegWinUI · high confidence

Behavioural changes

Introduce in-place C\# to VB conversion task with assembly isolation

The XamlLanguageConverter location now provides a new MSBuild task, ConvertCSharpToVB, that converts C\# source files to Visual Basic. This implementation adds an AssemblyIsolationHelper to load converter assemblies in a separate context (using AssemblyLoadContext on .NET 6+ or a dedicated AppDomain on .NET Framework 4.7.2), which helps avoid assembly conflicts and marshal-by-ref errors during conversion. The task now supports an UpdateInPlace parameter; when enabled, converted files overwrite the original C\# files instead of generating new .vb files, and the task reports which files were deleted and which were generated.

XamlLanguageConverter/XamlLanguageConverter · high confidence

Removal of legacy WinUI packaging project

The legacy Windows Application Packaging Project (\.wapproj\) and its associated packaging artifacts (manifest, installer, and resources) have been removed from the \BatchFfmpegWinUI\_Pack\ directory. This change eliminates the old MSBuild-based packaging configuration that relied on the deprecated Microsoft.ProjectReunion package and Windows Forms dependencies, reflecting the application's migration to the modern Windows App SDK and .NET 6.

_BatchFfmpegWinUI\Pack · high confidence

The WinUI Gallery sample application has been converted from C\# to Visual Basic, with new .vb code-behind files added for the App, AllControlsPage, and LottieLogo1 animated visual. The gallery's UI resources have been updated to target WinAppSDK 1.1, and the AllControlsPage layout has been adjusted to remove XAML Behaviors dependencies, ensuring the sample functions correctly with the new framework version.

WinUIGallery · high confidence

Test coverage

Added tests for isolated C\# to VB code conversion

Added a new test class, IsolatedHelperTests, which verifies that the AssemblyIsolationHelper can successfully convert a sample C\# console application to VB.NET within an isolated context.

XamlLanguageConverter/XamlLanguageConverter.Tests · high confidence

Dependencies

Upgrade to .NET 10 and Windows App SDK 2.5.1; introduce VB WinUI 3 converter tooling

The BatchFfmpegWinUI application has been upgraded from .NET 5 to .NET 10 and migrated from Microsoft.ProjectReunion to Microsoft.WindowsAppSDK 2.5.1, enabling self-contained publishing and MSIX tooling. Additionally, new project files introduce the Nukepayload2.XamlLanguageConverter toolchain (including the WinUIVbTargetPack and XamlLanguageConverter.WinUI3), providing a preview C\#-to-VB XAML conversion capability and build targets for Visual Basic WinUI 3 projects.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 47 → 52 (+5.1)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 94 → 93 (-1.0)
  • Architecture 47 → 94 (+47.5)
  • Maturity 55 → 52 (-3.6)
  • Readiness 33 → 33 (+0.0)
  • Security 90 → 80 (-10.0)

Resolved (4)

  • Documentation: no usage examples (README.md)
  • Members sharing a duplicated core (24 members, 50+ identical tokens) (WinUIGallery/AnimatedVisuals/LottieLogo1.vb)
  • Members sharing a duplicated core (28 members, 50+ identical tokens) (WinUIGallery/AnimatedVisuals/LottieLogo1.vb)
  • Members sharing a duplicated core (6 members, 50+ identical tokens) (WinUIGallery/AnimatedVisuals/LottieLogo1.vb)

New (15)

  • Documentation: no contributor guidance (ReadMe.md)
  • Duplicated block (10 lines × 2) (BatchFfmpegWinUI/VideoFileProcessing/VideoConverter.vb)
  • Duplicated block (16 lines × 2) (BatchFfmpegWinUI/EmbeddedVbRtl/Interaction.vb)
  • Duplicated block (38 lines × 2) (BatchFfmpegWinUI/EmbeddedVbRtl/WinUIVbHost.vb)
  • EmptyCatchBlock (BatchFfmpegWinUI/VideoFileProcessing/FfmpegPerformanceManager.vb)
  • EmptyCatchBlock (BatchFfmpegWinUI/VideoFileProcessing/VideoConverter.vb)
  • End-of-life runtime: .NET net6.0
  • Low cohesion: MainWindow (LCOM4 4) (BatchFfmpegWinUI/MainWindow.xaml.vb)
  • Members sharing a duplicated core (24 members, 50+ identical tokens) (WinUIGallery/AnimatedVisuals/LottieLogo1.vb)
  • Members sharing a duplicated core (28 members, 50+ identical tokens) (WinUIGallery/AnimatedVisuals/LottieLogo1.vb)
  • Members sharing a duplicated core (6 members, 50+ identical tokens) (WinUIGallery/AnimatedVisuals/LottieLogo1.vb)
  • MethodTooLong: VideoConverter.ConvertVideoFileAsync (BatchFfmpegWinUI/VideoFileProcessing/VideoConverter.vb)
  • Off the main sequence: XamlLanguageConverter(net6.0)
  • Solution references 3 projects that do not exist (XamlLanguageConverter/XamlLanguageConverter.sln)
  • VideoConverter.ConvertVideoFileAsync (cognitive 20) (BatchFfmpegWinUI/VideoFileProcessing/VideoConverter.vb)

Changes since last survey

  • 3 commits — 3 feature/other, 0 fixes

By area

  • (root) — 2 commits
  • BatchFfmpegWinUI/App.xaml.vb — 1 commit

Notable commits

  • change: Bump WASDK to 2.5.1
  • change: update readme
  • change: use AppContext.BaseDirectory

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Nukepayload2/VbWinUI3Demos was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 1 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit f8f7aac322e1704cf9e6922e8da3c6d54f63a817 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.