BetterWinTab is a native Windows application built with C#, .NET 8, and WinUI 3. Because it relies on native WinUI 3 and Win32 interop components, a few specific tools and settings are required to produce a working binary. This page walks you through every step from a fresh machine to a successful build.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/sgm1018/BetterWinTab/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
| Tool | Required Version | Notes |
|---|---|---|
| Windows | 10 (19041+) or Windows 11 | Minimum build 19041 (20H1) |
| .NET SDK | 8.0.x | Pinned via global.json (8.0.100, rollForward: latestFeature) |
| Visual Studio Code | Any recent version | Recommended editor; C# Dev Kit extension advised |
| Inno Setup | 6.x | Only needed to build the installer — not required for development builds |
8.0. If it does not, install the correct SDK from dot.net.
Setup and Build
Restore NuGet dependencies
Microsoft.WindowsAppSDK, Microsoft.Web.WebView2, CommunityToolkit.Mvvm, and the other packages declared in BetterWinTab.csproj.Build from VS Code
VS Code is the recommended editor for BetterWinTab development. The repository ships a preconfiguredtasks.json that wraps the correct build invocations.
Press Ctrl+Shift+B to run the default build task (build-x64). This task first kills any running BetterWinTab process, then invokes dotnet build with the correct platform flag and MSBuild logging options.
Available VS Code Tasks
All tasks are defined in.vscode/tasks.json. You can run any of them via Ctrl+Shift+P → Tasks: Run Task.
| Task label | What it does |
|---|---|
build-x64 | Kills any running BetterWinTab process, then builds for x64. Default build task (Ctrl+Shift+B). |
build | Same as build-x64 but not marked as the default build group. |
kill-betterwintab | Runs Stop-Process -Name BetterWinTab -Force -ErrorAction SilentlyContinue — useful as a standalone step. |
run-x64 | Depends on build-x64, then launches the compiled BetterWinTab.exe via Start-Process. |
publish | Runs dotnet publish using the project’s default publish profile. |
watch | Runs dotnet watch run with Platform=x64 and --runtime win-x64 for hot reload. |
Why x64 Only for Local Builds?
The project declares three supported platforms —x86, x64, and ARM64 — and all three are supported for publishing release builds. For local debug builds, however, only x64 is practical:
- The WinUI 3 / Windows App SDK native host components shipped in the NuGet packages require a resolved RID (
win-x64) at build time. arm64cross-compilation is not supported by the .NET SDK’s WinUI tooling on a standard x64 development machine.- Release publish profiles (
.pubxml) handlewin-x86andwin-arm64correctly because they are full self-contained publishes that bundle every native dependency.