Winui Dev Workflow

Pętla kompilacji i uruchamiania dla aplikacji WinUI 3: BuildAndRun.ps1, winapp run, tabela napraw błędów kompilacji

Autor: microsoft · microsoft/win-dev-skills

Działa po konfiguracji ★ 8.0/10

Winui Dev Workflow — Pętla kompilacji i uruchamiania dla aplikacji WinUI 3: BuildAndRun.ps1, winapp run, tabela napraw błędów kompilacji

Co robi ten skill

Umiejętność Microsoftu dla wewnętrznej pętli WinUI 3 / Windows App SDK: tworzenie szkieletu projektu za pomocą `dotnet new winui-mvvm`, kompilowanie i uruchamianie za pomocą dołączonego BuildAndRun.ps1 (sprawdzanie trybu deweloperskiego, automatyczne wykrywanie x64/ARM64, `winapp run --debug-output`) oraz diagnozowanie awarii za pomocą triage'u ukrytych wyjątków WinUI. Zawiera tabelę wyszukiwania mapującą konkretne kody błędów (XLS0414, MSB3073, 0x8000FFFF, 0x8007000B, puste okno z x:Bind OneTime) na poprawki. Uruchamia się, gdy kompilujesz, uruchamiasz lub naprawiasz błędy kompilacji/uruchamiania w projekcie WinUI 3. Tylko dla systemu Windows: wymaga PowerShell, .NET SDK i winapp CLI.

Raport z testu

Sklonowano repozytorium i znaleziono umiejętność w plugins/winui/skills/winui-dev-workflow; frontmatter sparsowano czysto za pomocą yaml.safe_load z dokładnie name + description, a skopiowanie folderu do tymczasowego HOME umieściło SKILL.md w ~/.claude/skills/winui-dev-workflow/SKILL.md. Surowo pobrano SKILL.md, BuildAndRun.ps1 i analyzer/Microsoft.WindowsAppSDK.Analyzers.targets — wszystkie HTTP 200; przeczytałem wszystkie 267 linii BuildAndRun.ps1 i potwierdziłem każde z sześciu zachowań, które SKILL.md dla niego deklaruje (sprawdzanie rejestru AppModelUnlock w trybie deweloperskim, wykrywanie pojedynczego csproj, wykrywanie platformy PROCESSOR_ARCHITECTURE, dotnet build z /restore, wyszukiwanie wyjścia bin\<Platform>\<Config>\net*\win-<rid>, `winapp run --debug-output`), plus blok `finally`, który usuwa tymczasowy Directory.Build.props i strażnika, który odmawia nadpisania istniejącego. Brak curl|sh, base64, wywołań sieciowych, sekretów, twardo zakodowanych ścieżek maszynowych — tylko 49KB wstępnie skompilowany DLL analizatora, którego źródło znajduje się w repozytorium w src/tools/winui-analyzer. Etap WYJŚCIA nie mógł zostać wykonany: ten Mac nie ma pwsh/powershell, dotnet, winapp (`pwsh -File ./BuildAndRun.ps1 -SkipRun` → "command not found"), a sprawdzanie trybu deweloperskiego odczytuje HKLM, więc żadna kompilacja nigdy się nie uruchomiła; zamiast tego napisałem dwa artefakty tekstowe (scratchpad/wdw_baseline.md vs wdw_skill.md) dla diagnozy pustego okna + 0x8000FFFF — linia bazowa sięgnęła po Visual Studio F5, Add-AppxPackage i try/catch wokół InitializeComponent i wymieniła cztery spekulatywne przyczyny pustego okna, podczas gdy wersja umiejętności zastępuje całą pętlę jednym asynchronicznym wywołaniem BuildAndRun.ps1, nazywa pojedynczą przyczynę główną "x:Bind defaults to OneTime — add Mode=OneWay" i dodaje fakty, których linia bazowa nigdy nie wygenerowała (WINAPP_DBGTOOLS_DIR, aby pominąć pierwsze pobieranie narzędzi debuggera po awarii, MSB3073 XamlCompiler exit-1 = zaktualizuj Microsoft.WindowsAppSDK do >= 2.1.3). Są to udokumentowane różnice w treści, a nie zweryfikowane zachowanie w czasie rzeczywistym, więc outputMeasured pozostaje fałszywe, a werdykt to konfiguracja. Oceniono frazy wyzwalające: POWINNY załadować — "My WinUI 3 app won't build, I'm getting XLS0414 on a custom control" (tak), "Scaffold a new WinUI 3 desktop app and get it running" (tak), "The Windows App SDK app launches then instantly closes with 0x8000FFFF" (tak); NIE POWINNY — "Sign my MSIX and submit it to the Microsoft Store" (nie, to jest siostrzana umiejętność winui-packaging), "My React Native Windows app fails to build on x64" (nie, to nie WinUI 3). 5/5 poprawnie.

Testowano: 2026-07-21 · Claude Code 2.x (agent harness)

Instalacja

git clone --depth 1 https://github.com/microsoft/win-dev-skills.git /tmp/winui-dev-workflow-src
mkdir -p ~/.claude/skills
cp -R /tmp/winui-dev-workflow-src/plugins/winui/skills/winui-dev-workflow ~/.claude/skills/winui-dev-workflow
# Windows-only skill. Runtime prerequisites (not installed by the copy above):
#   .NET SDK >= 8.0 (10 recommended): winget install Microsoft.DotNet.SDK.10
#   winapp CLI >= 0.3:                winget install Microsoft.WinAppCLI
#   WinUI templates:                  dotnet new install Microsoft.WindowsAppSDK.WinUI.CSharp.Templates
#   Developer Mode: Settings > System > For developers > On
# The skill ships BuildAndRun.ps1 plus a prebuilt analyzer/Microsoft.WindowsAppSDK.Analyzers.dll
# (source in the same repo at src/tools/winui-analyzer) that the script injects into your build
# via a temporary Directory.Build.props and removes afterwards.
# Plugin-marketplace alternative (installs all 7 winui skills + agents):
#   claude plugin marketplace add microsoft/win-dev-skills && claude plugin install winui@win-dev-skills

Komendy i przykładowe prompty

  • /winui-dev-workflowPętla kompilacji i uruchamiania dla aplikacji WinUI 3: BuildAndRun.ps1, winapp run, tabela napraw błędów kompilacji

Skille uruchamiają się na zwykłe polecenia — bez komend do zapamiętania. Po instalacji aktywują go prompty takie jak te (po angielsku):

  • Fix this WinUI 3 build error
  • Run my WinUI app with BuildAndRun.ps1
  • Diagnose why winapp run is failing