Windows-app Development CLI (winapp CLI)

Belangrijk

De Windows-app Development CLI bevindt zich momenteel in public preview. Functies en opdrachten kunnen vóór de definitieve release worden gewijzigd. Deel uw feedback door een probleem te maken.

De Windows-app Development CLI (winapp CLI) is een opdrachtregelprogramma voor het bouwen van Windows apps met het framework dat u kiest. Het werkt vanuit een terminal, de editor die u wilt gebruiken of een AI-coderingsagent.

  • WinUI-apps:WinUI-apps maken, uitvoeren, debuggen, testen en verpakken zonder Visual Studio te openen.
  • Platformoverschrijdende en andere frameworks: breng Windows functies naar uw bestaande Electron-, Flutter-, Tauri-, Rust-, .NET- of C++-app zonder frameworks te wijzigen. winapp CLI zet de Windows App SDK en Windows SDK op, geeft uw app pakketidentiteit zodat u API's zoals meldingen en AI op het apparaat kunt aanroepen, en verpakt uw app als MSIX voor de Microsoft Store of uw eigen distributie.

Belangrijkste voordelen van winapp CLI

Een opdrachtpromptpictogram op een verhoogde tegel boven een blauwe pixelgolf

WinUI-apps maken en uitvoeren vanuit de terminal
winapp new maakt een WinUI-app op basis van de officiële sjablonen, waaronder lege, NavigationView, TabView en MVVM-starters. winapp runbouwt het project, installeert de overeenkomende Windows-app Runtime en start de app, ongeacht of deze is verpakt of niet-verpakt.
Uw eerste WinUI-app bouwen

Een bugpictogram op een verhoogde tegel boven een diagonale band met blauwe pixels

Debuggen met pakketidentiteit en crashdiagnostiek
Voer uw app uit met een pakket-id, zodat u meldingen, AI op het apparaat en andere API's kunt testen waarvoor een pakket-id is vereist. Voeg --debug-output toe om foutopsporingsberichten en crashdumps vast te leggen. Voor WinUI-crashes decodeert winapp stowed uitzonderingen om u te wijzen op de XAML-gebeurtenishandler die is mislukt.
Foutopsporing met pakketidentiteit

Een chatballon met sparklespictogram op een verhoogde tegel over een blauwe pixelgolf

Baseer AI-coderingsagents op echte WinUI-code
winapp find-uiretourneert werkende XAML en C# uit de WinUI 3 Gallery en de Windows Community Toolkit. winapp find-api inspecteert de Windows Runtime API's waarnaar uw project verwijst. Agents gebruiken ze om code te genereren op basis van echte voorbeelden en metagegevens in plaats van te raden.
Winapp CLI gebruiken met AI-agents

Een aanwijzer en aanraakpictogram op een verhoogde tegel boven een diagonale band met blauwe pixels

De gebruikersinterface van uw app automatiseren en testen
winapp ui inspecteert en communiceert met actieve apps via UI Automation en legt schermopnamen en opnamen vast. Voer uw app uit in Windows Sandbox om deze in een schone omgeving te testen.
Automatisering van de gebruikersinterface

Een pakketpictogram op een verhoogde tegel over een blauwe pixelgolf

Verpakken, ondertekenen en verzenden
winapp pack bouwt uw project, verpakt het als MSIX en ondertekent het in één stap. Genereer lokaal ontwikkelingscertificaten, onderteken releaseversies met Vertrouwde ondertekening van Azure en installeer winapp CLI op GitHub Actions of Azure DevOps runners.
App verpakken

Een puzzelstukpictogram op een verhoogde tegel over een diagonale band met blauwe pixels

Breng Windows functies naar elk framework
Voeg de Windows SDK en Windows App SDK, pakketidentiteit en MSIX-verpakking toe aan apps die zijn gebouwd met .NET, C++, Electron, Flutter, Rust of Tauri, zonder uw buildsysteem te wijzigen.
Ondersteunde frameworks bekijken

Aan de slag met WinUI

Nadat u winapp CLI en de .NET SDK hebt geïnstalleerd, maakt en voert u een WinUI-app uit:

winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run

Wanneer u klaar bent om een pakket lokaal te testen, genereert u een ontwikkelingscertificaat en maakt u een ondertekend MSIX-pakket:

winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx

Het ontwikkelingscertificaat maakt gebruik van een standaardwachtwoord en is alleen bedoeld voor lokaal testen. Voordat u uw app distribueert, moet u deze ondertekenen met een vertrouwd certificaat, bijvoorbeeld met winapp az-sign. Zie Securityvoor meer informatie.

Zie Uw eerste WinUI-app bouwen voor een stapsgewijze procedure met setup en uw eerste wijziging in de gebruikersinterface. Als u alle beschikbare sjablonen wilt zien, voert u de opdracht winapp new --list uit. Zie Winapp CLI gebruiken met WinUI voor de volledige werkstroom, waaronder foutopsporing, UI-automatisering en -pakketten.

Installatie

WinGet

De eenvoudigste manier om de CLI te installeren is via WinGet (Windows Pakketbeheer):

winget install Microsoft.winappcli --source winget

Als u de WinGet PowerShell-module gebruikt, voert u in plaats daarvan Install-WinGetPackage Microsoft.winappcli uit.

NPM

Voor Electron-projecten, installeer via de Node Package Manager (NPM).

npm install @microsoft/winappcli --save-dev

GitHub Actions/Azure DevOps

Voor CI/CD-pipelines gebruikt u de actie setup-WinAppCli om de CLI automatisch te installeren op uw runners/agents.

Handmatig downloaden

Download de nieuwste build van GitHub Releases.

Installatie controleren

Nadat de installatie is geïnstalleerd, controleert u de installatie door de CLI aan te roepen:

winapp --help

Of als u Electron/Node.jsgebruikt:

npx winapp --help

Gebruik winapp CLI met AI-agents

winapp CLI is ontworpen om goed te werken met AI-coderingsagenten. Opdrachten zoals find-ui en find-api geven machineleesbare uitvoer terug met --json, zodat een agent echte WinUI-voorbeelden en Windows Runtime API's kan opzoeken voordat code wordt geschreven.

Installeer de winapp-invoegtoepassing om uw agent vaardigheden te geven voor de winapp CLI-werkstroom:

# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli

# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli

Als u in Visual Studio Code werkt, voert de WinApp VS Code-extensie winapp CLI-opdrachten uit vanuit de editor en start uw app met pakketidentiteit wanneer u op F5 drukt. Installeer deze vanuit de Visual Studio Marketplace.

Ondersteunde frameworks

winapp CLI werkt met WinUI en andere app-frameworks:

Raamwerk Guide
WinUI Aan de slag met WinUI-
.NET / WPF / WinForms Aan de slag met .NET
.NET MAUI Aan de slag met .NET MAUI
C++ (CMake) Aan de slag met C++
Elektron Aan de slag met Electron
Roest Aan de slag gaan met Rust
Tauri Aan de slag met Tauri
Fladderen Aan de slag met Flutter

Aanvullende handleidingen:

  • Een EXE/CLI verpakken: stapsgewijze handleiding voor het verpakken van een bestaande EXE/CLI als MSIX
  • Sparse-verpakking: geef een niet-verpakte app een pakketidentiteit met een MSIX met alleen identiteit (sparse) en externe inhoud
  • Shell-voltooiing: tabvoltooiing inschakelen voor opdrachten, opties en waarden in PowerShell, bash, zsh en fish
  • Beveiligingsrichtlijnen: welke ontwikkelingscertificaten en ontwikkelaarsmodus op uw computer veranderen, hoe u deze kunt afhandelen devcert.pfxen hoe u zich kunt aanmelden voor productie

Overzicht van opdrachten

Categorie Commands
Aanmaken en instellen nieuw, initialiseren, herstellen, bijwerken
Uitvoeren & fouten opsporen run, create-debug-identity, embed-identity, unregister
Verpakking inpakken
Manifesten manifest genereren, manifest update-assets, manifest add-alias
Certificaten en ondertekening cert generate, cert install, sign, az-sign, create-external-catalog
Code doorzoeken voor agents find-ui, find-api
UI-automatisering & Sandbox ui, target
Utilities tool, store, get-winapp-path, complete
Node.js/Electron node create-addon, node generate-bindings, node add-electron-debug-identity, node clear-electron-debug-identity

Zie CLI-handleiding voor de volledige CLI-naslaginformatie.

Samples

De map met voorbeelden op GitHub heeft een runnable project voor elk ondersteund framework:

Sample Description
WinUI-app Verpakte WinUI-app geregistreerd en gestart met winapp run
WinUI-app zonder pakket Niet-verpakte WinUI-app die is gestart met winapp run
WinUI-oplossing Oplossing voor meerdere projecten (app- en testproject) die laat zien hoe winapp run het app-project selecteert
C++ WinUI app WinUI-venster gebouwd in C++ met CMake, zonder XAML of MSBuild
WPF-app WPF desktop-app
.NET MAUI-app .NET MAUI Windows project verpakt en ondertekend met winapp CLI
C++ app Systeemeigen C++ Win32-app gebouwd met CMake
Elektron Electron Forge-app met een manifest, assets en systeemeigen C++- en C#-add-ons
Rust-app Rust app die Windows APIs aanroept
Tauri app Tauri-app met een Rust-back-end
Flutter-app Flutter-bureaublad-app met pakketidentiteit en de Windows App SDK
Sparse app WPF-app met sparse packaging (alleen-identiteit MSIX) en een installatieprogramma

Waarom pakketidentiteit?

Veel Windows API's vereisen dat uw app pakketidentiteit heeft. Met identiteit krijgt uw app toegang tot functies zoals meldingen, OS-integratie en AI op het apparaat. WinUI-app-sjablonen bevatten een pakketmanifest, dus winapp run geeft ze standaard een identiteit. Zie Het pakketoverzicht voor een volledige lijst van welke pakketidentiteit ontgrendelt en helpt bij het kiezen van het juiste verpakkingsmodel.

Open source

winapp CLI is open source. U kunt de broncode, bestandsproblemen en bijdragen vinden op GitHub. Zie Ondersteuning voor hulp.