Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
CLI för Windows App Development finns för närvarande i public preview. Funktioner och kommandon kan ändras innan den slutliga versionen. Dela din feedback genom att skapa ett problem.
WINDOWS APP Development CLI (winapp CLI) är ett kommandoradsverktyg för att skapa Windows appar med det ramverk du väljer. Det fungerar från en terminal, den redigerare du föredrar eller en AI-kodningsagent.
- WinUI-appar: skapa, köra, felsöka, testa och paketera WinUI-appar utan att öppna Visual Studio.
- Plattformsoberoende och andra ramverk: ta med Windows funktioner till din befintliga Electron-, Flutter-, Tauri-, Rust-, .NET- eller C++-app utan att ändra ramverk. winapp CLI konfigurerar Windows App SDK och Windows SDK, ger din app en paketidentitet så att du kan anropa API:er som meddelanden och AI på enheten, och paketerar den som MSIX för Microsoft Store eller din egen distribution.
Viktiga fördelar med winapp CLI
Skapa och kör WinUI-appar från terminalen
winapp new skapar en WinUI-app från de officiella mallarna, inklusive blank, NavigationView, TabView och MVVM-starter.
winapp runbygger projektet, installerar matchande Windows App Runtime och startar appen, oavsett om den är paketerad eller uppackad.
Skapa din första WinUI-app
Felsöka med paketidentitet och kraschdiagnostik
Kör din app med paketidentitet så att du kan testa meddelanden, AI på enheten och andra API:er som kräver identitet. Lägg till --debug-output för att samla in felsökningsmeddelanden och kraschdumpar. Vid WinUI-krascher avkodar winapp lagrade undantag så att du kan se vilken XAML-händelsehanterare som misslyckades.
Felsöka med paketidentitet
Förankra AI-kodningsagenter i verklig WinUI-kod
winapp find-uireturnerar fungerande XAML och C# från WinUI 3-galleriet och Windows Community Toolkit.
winapp find-api inspekterar de Windows Runtime API:er som projektet refererar till. Agenter använder dem för att generera kod från verkliga exempel och metadata i stället för att gissa.
Använd winapp CLI med AI-agenter
Automatisera och testa appens användargränssnitt
winapp uiinspekterar och interagerar med appar som körs via UI Automation och tar skärmdumpar och inspelningar. Kör appen i Windows Sandbox för att testa den i en ren miljö.
Automatisering av användargränssnitt
Paketera, underteckna och skicka
winapp pack bygger projektet, paketerar det som MSIX och signerar det i ett steg. Generera utvecklingscertifikat lokalt, signera releasebyggen med Betrodd Azure-signering och installera winapp CLI på GitHub Actions eller Azure DevOps runners.
Paketera din app
Gör Windows-funktioner tillgängliga i alla ramverk
Lägg till Windows SDK och Windows App SDK, paketidentitet och MSIX-paketering i appar som skapats med .NET, C++, Electron, Flutter, Rust eller Tauri, utan att ändra byggsystemet.
Se ramverk som stöds
Kom igång med WinUI
När du har installerat winapp CLI och .NET SDK skapar och kör du en WinUI-app:
winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run
När du är redo att testa ett paket lokalt genererar du ett utvecklingscertifikat och skapar ett signerat MSIX-paket:
winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx
Utvecklingscertifikatet använder ett standardlösenord och är endast avsett för lokal testning. Innan du distribuerar din app signerar du den med ett betrott certifikat, till exempel med winapp az-sign. Mer information finns i Security.
En stegvis genomgång som innehåller konfiguration och din första ändring av användargränssnittet finns i Bygg din första WinUI-app. Om du vill se alla tillgängliga mallar kör du winapp new --list. För det fullständiga arbetsflödet, inklusive felsökning, automatisering av användargränssnitt och paketering, se Använda winapp CLI med WinUI.
Installation
WinGet
Det enklaste sättet att installera CLI är via WinGet (Windows Správca balíkov):
winget install Microsoft.winappcli --source winget
Om du använder WinGet PowerShell-modulen kör du Install-WinGetPackage Microsoft.winappcli i stället.
NPM
För Elektronprojekt installerar du via NPM:
npm install @microsoft/winappcli --save-dev
GitHub Actions/Azure DevOps
För CI/CD-pipelines använder du åtgärden setup-WinAppCli för att automatiskt installera CLI på dina agenter.
Manuell nedladdning
Ladda ned den senaste versionen från GitHub Releases.
Verifiera installationen
När installationen är installerad kontrollerar du installationen genom att anropa CLI:
winapp --help
Eller om du använder Electron/Node.js:
npx winapp --help
Använd winapp CLI med AI-agenter
winapp CLI är utformat för att fungera bra med AI-kodningsagenter. Kommandon som find-ui och find-api returnerar maskinläsbara utdata med --json, så att en agent kan leta upp verkliga WinUI-exempel och Windows Runtime API:er innan den skriver kod.
Installera winapp-pluginet för att ge din agent färdigheter för winapp CLI-arbetsflödet:
# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli
# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli
Om du arbetar i Visual Studio Code kör WinApp VS Code-tillägget winapp CLI-kommandon från redigeraren och startar din app med paketidentitet när du trycker på F5. Installera den från Visual Studio Marketplace.
Ramverk som stöds
winapp CLI fungerar med WinUI och andra appramverk:
| Ramverk | Guide |
|---|---|
| WinUI | Kom igång med WinUI |
| .NET/WPF/WinForms | Komma igång med .NET |
| .NET MAUI | Kom igång med .NET MAUI |
| C++ (CMake) | Kom igång med C++ |
| Elektron | Kom igång med Electron |
| Rust | Kom igång med Rust |
| Tauri | Kom igång med Tauri |
| Flutter | Kom igång med Flutter |
Ytterligare guider:
- Paketera en EXE/CLI: stegvis guide för att paketera en befintlig EXE/CLI som MSIX
- Gles paketering: ge en opaketerad app paketidentitet med en MSIX-fil med enbart identitet (gles) och externt innehåll
- Shell Completion: Aktivera flikkomplettering för kommandon, alternativ och värden i PowerShell, bash, zsh och fish
-
Säkerhetsvägledning: vilka utvecklingscertifikat och utvecklarläge som ändras på datorn, hur du hanterar
devcert.pfxoch hur du loggar in för produktion
Översikt över kommandon
| Kategori | Kommandon |
|---|---|
| Skapa och konfigurera | new, init, restore, update |
| Kör och felsök | run, create-debug-identity, embed-identity, unregister |
| Paketering | pack |
| Manifesterar | manifest generate, manifest update-assets, manifest add-alias |
| Certifikat och signering | cert generate, cert install, sign, az-sign, create-external-catalog |
| Kodsökning efter agenter | find-ui, find-api |
| UI-automatisering och 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 |
Den fullständiga CLI-referensen finns i CLI-referens.
Samples
Exempelmappen på GitHub har ett körbart projekt för varje ramverk som stöds:
| Sample | Description |
|---|---|
| WinUI app | Paketerad WinUI-app registrerad och startad med winapp run |
| WinUI unpackaged app | Opaketerad WinUI-app som startats med winapp run |
| WinUI solution | Lösning för flera projekt (app och testprojekt) som visar hur winapp run väljer appprojektet |
| C++ WinUI app | WinUI-fönster inbyggt i C++ med CMake, utan XAML eller MSBuild |
| WPF app | WPF skrivbordsapp |
| .NET MAUI app | .NET MAUI Windows projekt paketerat och signerat med winapp CLI |
| C++ app | Nativ C++ Win32-app som skapats med CMake |
| Electron | Electron Forge-app med manifest, tillgångar och inbyggda C++- och C#-tillägg |
| Rust app | Rust-app som anropar Windows API:er |
| Tauri app | Tauri-app med en Rust-backend |
| Flutter app | Flutter-skrivbordsapp med paketidentitet och Windows App SDK |
| Sparse app | WPF app med glespaketering (endast identitetsbaserad MSIX) och ett installationsprogram |
Varför paketidentitet?
Många Windows API:er kräver att din app har paketidentitet. Med identitet får din app access till funktioner som meddelanden, OS-integrering och AI på enheten. WinUI-appmallar innehåller ett paketmanifest, så winapp run ger dem identitet som standard. En fullständig lista över vilken paketidentitet som låser upp och hjälper dig att välja rätt paketeringsmodell finns i Paketeringsöversikt.
Öppen källkod
winapp CLI är open-source. Du hittar källkoden, filproblemen och bidrar på GitHub. För hjälp, se Support.
Relaterade ämnen
Windows developer