Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Die Windows-App Development CLI befindet sich derzeit in public preview. Features und Befehle können sich vor der endgültigen Version ändern. Teilen Sie Ihr Feedback, indem Sie ein Problem erstellen.
Die Windows-App Development CLI (winapp CLI) ist ein Befehlszeilentool zum Erstellen Windows-Apps mit dem von Ihnen ausgewählten Framework. Es funktioniert im Terminal, in dem Editor, den Sie bevorzugen, oder mit einem KI-Codierungs-Agenten.
- WinUI-Apps: Erstellen, Ausführen, Debuggen, Testen und Verpacken von WinUI-Apps, ohne Visual Studio zu öffnen.
- Plattformübergreifende und andere Frameworks: Bringen Sie Windows Features in Ihre vorhandene Electron-, Flutter-, Tauri-, Rust-, .NET- oder C++-App ein, ohne Frameworks zu ändern. winapp CLI richtet das Windows App SDK und Windows SDK ein, verleiht Ihrer App eine Paketidentität, damit Sie APIs wie Benachrichtigungen und KI auf dem Gerät aufrufen können, und verpackt sie als MSIX für den Microsoft Store oder Ihre eigene Verteilung.
Wichtige Vorteile der winapp CLI
WinUI-Apps im Terminal erstellen und ausführen
winapp new erstellt eine WinUI-App aus den offiziellen Vorlagen, einschließlich der Startvorlagen „Leer“, „NavigationView“, „TabView“ und „MVVM“.
winapp runerstellt das Projekt, installiert die passende Windows-App Runtime und startet die App, unabhängig davon, ob sie paketiert oder nicht paketiert wird.
Erstellen Sie Ihre erste WinUI-App
Debuggen mit Paketidentität und Absturzdiagnose
Führen Sie Ihre App mit Paketidentität aus, sodass Sie Benachrichtigungen, On-Device-KI und andere APIs testen können, die Identität erfordern. Fügen Sie --debug-output hinzu, um Debugmeldungen und Absturzabbilder zu erfassen. Für WinUI-Abstürze decodiert winapp stowed exceptions, um Sie auf den XAML-Ereignishandler hinzuweisen, der fehlgeschlagen ist.
Debuggen mit Paketidentität
KI-Coding-Agents auf realem WinUI-Code basieren lassen
winapp find-uigibt Arbeits-XAML und C# aus dem WinUI 3-Katalog und dem Windows Community Toolkit zurück.
winapp find-api überprüft die Windows-Runtime APIs, auf die Ihr Projekt verweist. Agents verwenden sie, um Code aus echten Beispielen und Metadaten zu generieren, anstatt zu raten.
winapp CLI mit KI-Agenten verwenden
Automatisieren und testen Sie die Benutzeroberfläche Ihrer App
winapp uiüberprüft und interagiert mit ausgeführten Apps über Benutzeroberflächenautomatisierung und erfasst Screenshots und Aufzeichnungen. Führen Sie Ihre App in Windows Sandbox aus, um sie in einer sauberen Umgebung zu testen.
Benutzeroberflächenautomatisierung
Packen, Signieren und Versenden
winapp pack erstellt Ihr Projekt, packt es als MSIX und signiert es in einem Schritt. Generieren Sie Entwicklungszertifikate lokal, signieren Sie Releasebuilds mit Azure Trusted Signing, und installieren Sie winapp CLI auf GitHub Actions oder Azure DevOps Läufern.
Packen Ihrer App
Bereitstellen von Windows-Features für ein beliebiges Framework
Fügen Sie das Windows SDK und Windows App SDK, Paketidentität und MSIX-Paketierung zu Apps hinzu, die mit .NET, C++, Electron, Flutter, Rust oder Tauri erstellt wurden, ohne Ihr Buildsystem zu ändern.
Unterstützte Frameworks anzeigen
Erste Schritte mit WinUI
Nachdem Sie winapp CLI und das .NET SDK installiert haben, erstellen und führen Sie eine WinUI-App aus:
winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run
Wenn Sie bereit sind, ein Paket lokal zu testen, generieren Sie ein Entwicklungszertifikat, und erstellen Sie ein signiertes MSIX-Paket:
winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx
Das Entwicklungszertifikat verwendet ein Standardkennwort und ist nur für lokale Tests vorgesehen. Bevor Sie Ihre App verteilen, signieren Sie sie mit einem vertrauenswürdigen Zertifikat, z. B. mit winapp az-sign. Weitere Informationen finden Sie unter Sicherheit.
Eine schrittweise exemplarische Vorgehensweise, die Setup und die erste Änderung der Benutzeroberfläche enthält, finden Sie unter Erstellen Ihrer ersten WinUI-App. Führen Sie winapp new --list aus, um alle verfügbaren Vorlagen anzuzeigen. Den vollständigen Workflow, einschließlich Debugging, Benutzeroberflächenautomatisierung und Verpackung, finden Sie unter Verwenden der winapp CLI mit WinUI.
Installation
WinGet
Die einfachste Möglichkeit, die CLI zu installieren, ist über WinGet (Windows Paket-Manager):
winget install Microsoft.winappcli --source winget
Wenn Sie das WinGet PowerShell-Modul verwenden, führen Sie stattdessen aus Install-WinGetPackage Microsoft.winappcli .
NPM
Für Electron-Projekte installieren Sie über NPM:
npm install @microsoft/winappcli --save-dev
GitHub Actions/Azure DevOps
Verwenden Sie für CI/CD-Pipelines die Aktion setup-WinAppCli, um das CLI automatisch auf Ihren Runners oder Agents zu installieren.
Manueller Download
Laden Sie den neuesten Build von GitHub Releases herunter.
Überprüfen der Installation
Überprüfen Sie die Installation nach der Installation, indem Sie die CLI aufrufen:
winapp --help
Oder wenn Sie Electron/Node.jsverwenden:
npx winapp --help
Verwenden der winapp-CLI mit KI-Agents
winapp CLI wurde entwickelt, um gut mit KI-Codierungs-Agents zu arbeiten. Befehle wie find-ui und find-api geben mit --json maschinenlesbare Ausgabe zurück, sodass ein Agent echte WinUI-Beispiele und Windows-Runtime-APIs nachschlagen kann, bevor er Code schreibt.
Installieren Sie das Winapp-Plug-In, um Ihrem Agenten Fähigkeiten für den winapp-CLI-Workflow zu verleihen:
# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli
# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli
Wenn Sie in Visual Studio Code arbeiten, führt die WinApp VS Code-Erweiterung winapp CLI-Befehle aus dem Editor aus und startet Ihre App mit Paketidentität, wenn Sie F5 drücken. Installieren Sie es aus dem Visual Studio Marketplace.
Unterstützte Frameworks
winapp CLI funktioniert mit WinUI und anderen App-Frameworks:
| Rahmenwerk | Guide |
|---|---|
| WinUI | Erste Schritte mit WinUI |
| .NET / WPF / WinForms | Erste Schritte mit .NET |
| .NET MAUI | Erste Schritte mit .NET MAUI |
| C++ (CMake) | Erste Schritte mit C++ |
| Elektron | Beginnen Sie mit Electron |
| Rust | Beginnen Sie mit Rust |
| Tauri | Erste Schritte mit Tauri |
| Flutter | Loslegen mit Flutter |
Zusätzliche Anleitungen
- Packen einer EXE/CLI: Schritt-für-Schritt-Anleitung zum Verpacken einer vorhandenen EXE/CLI als MSIX
- Spärliches Packen: Versehen Sie eine unverpackte App mit einer Paketidentität mit einer reinen Identitäts-MSIX (spärlich) und externen Inhalten.
- Shell-Vervollständigung: Aktivieren der Tab-Vervollständigung für Befehle, Optionen und Werte in PowerShell, bash, zsh und fish
-
Sicherheitsleitfaden: welche Änderungen Entwicklungszertifikate und der Entwicklermodus auf Ihrem Computer vornehmen, wie mit
devcert.pfxumzugehen ist und wie Sie für die Produktion signieren
Übersicht über Befehle
| Kategorie | Befehle |
|---|---|
| Erstellen und einrichten | new, init, restore, update |
| Ausführen von & debug | run, create-debug-identity, embed-identity, unregister |
| Verpackung | packen |
| Manifeste | Manifest generieren, Manifest-Assets aktualisieren, Manifest Alias hinzufügen |
| Zertifikate und Signatur | cert generate, cert install, sign, az-sign, create-external-catalog |
| Codesuche für Agents | find-ui, find-api |
| Benutzeroberflächenautomatisierung und Sandbox | ui, Ziel |
| 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 |
Die vollständige CLI-Referenz finden Sie in der CLI-Referenz.
Beispiele
Der Beispielordner auf GitHub verfügt über ein ausführbares Projekt für jedes unterstützte Framework:
| Beispiel | Description |
|---|---|
| WinUI-App | Verpackte WinUI-App wird mit winapp run registriert und gestartet |
| Ungepackte WinUI-App | Nicht paketierte WinUI-App gestartet mit winapp run |
| WinUI-Lösung | Multiprojektlösung (App und Testprojekt), die zeigt, wie winapp run das App-Projekt auswählt |
| C++-WinUI-App | In C++ erstelltes WinUI-Fenster mit CMake, ohne XAML oder MSBuild |
| WPF-App | WPF Desktop-App |
| .NET MAUI-App | .NET MAUI Windows Projekt verpackt und mit winapp CLI signiert |
| C++-App | Native C++-Win32-App, die mit CMake erstellt wurde |
| Elektron | Electron Forge App mit einem manifest, Assets und nativen C++- und C#-Add-ons |
| Rust-App | Rust-App, die Windows-APIs aufruft |
| Tauri-App | Tauri-App mit einem Rust-Back-End |
| Flutter-App | Flutter-Desktop-App mit Paketidentität und dem Windows App SDK |
| Sparse-App | WPF-App mit Sparse-Paketierung (MSIX nur mit Identität) und einem Installationsprogramm |
Warum Die Paketidentität?
Viele Windows-APIs erfordern, dass Ihre App über eine Paketidentität verfügt. Mit der Identität gewinnt Ihre App access zu Features wie Benachrichtigungen, Betriebssystemintegration und KI auf dem Gerät. WinUI-App-Vorlagen enthalten ein Paketmanifest, sodass winapp run ihnen standardmäßig eine Identität verleiht. Eine vollständige Übersicht, was die Paketidentität freischaltet, und Hilfe bei der Auswahl des richtigen Verpackungsmodells finden Sie unter Packaging overview.
Open Source
winapp CLI ist Open Source. Sie finden den Quellcode, Dateiprobleme und tragen zu GitHub bei. Hilfe finden Sie unter Support.
Zugehörige Themen
Windows developer