Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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
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
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
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
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
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
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 |
| 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.
Verwante onderwerpen
- Uw eerste WinUI-app bouwen
- Overzicht van WinUI
- CLI-naslaginformatie
- Foutopsporing met pakketidentiteit
- Beveiligingsrichtlijnen
- Automatisering van de gebruikersinterface
- uitvoering van Windows Sandbox
- NPM programmatische API
- Framework handleidingen
- documentatie Windows App SDK
- Documentatie voor MSIX-pakketten
Windows developer