interfaccia della riga di comando per lo sviluppo di app di Windows (winapp CLI)

Importante

L'interfaccia della riga di comando app di Windows Development è attualmente disponibile in public preview. Le funzionalità e i comandi possono cambiare prima della versione finale. Condividi il feedback segnalando un problema.

app di Windows Development CLI (winapp CLI) è uno strumento da riga di comando per la creazione di app Windows con il framework scelto. Funziona da un terminale, dall'editor preferito o da un agente di codifica di intelligenza artificiale.

  • App WinUI: creare, eseguire, eseguire il debug, testare e creare pacchetti di app WinUI senza aprire Visual Studio.
  • Multipiattaforma e altri framework: porta funzionalità Windows alla tua app Electron, Flutter, Tauri, Rust, .NET o C++ esistente senza modificare i framework. L'interfaccia della riga di comando di winapp configura il SDK per app di Windows e Windows SDK, assegna all'app l'identità del pacchetto, in modo da poter invocare API come notifiche e intelligenza artificiale sul dispositivo e lo crea come pacchetto MSIX per Microsoft Store o la propria distribuzione.

Vantaggi principali di winapp CLI

Icona del prompt dei comandi in un riquadro alzato su un'onda in pixel blu

Creare ed eseguire app WinUI dal terminale
winapp new crea un'app WinUI dai modelli ufficiali, inclusi gli starter blank, NavigationView, TabView e MVVM. winapp runcompila il progetto, installa l'app di Windows Runtime corrispondente e avvia l'app, indipendentemente dal fatto che sia in pacchetto o non in pacchetto.
Crea la tua prima app WinUI

Icona di bug su un riquadro sollevato su una banda diagonale di pixel blu

Eseguire il debug con l'identità del pacchetto e la diagnostica degli arresti anomali
Eseguire l'app con l'identità del pacchetto in modo da poter testare le notifiche, l'intelligenza artificiale sul dispositivo e altre API che richiedono l'identità. Aggiungere --debug-output per acquisire messaggi di debug e dump di arresto anomalo. Per gli arresti anomali di WinUI, winapp decodifica le eccezioni stowed per indirizzarti al gestore eventi XAML che non è riuscito.
Debug con l'identità del pacchetto

Una bolla di chat con l'icona con scintille su un riquadro alzato su un'onda di pixel blu

Agenti AI per la programmazione basati su codice WinUI reale
winapp find-uirestituisce XAML funzionante e C# dalla raccolta WinUI 3 e da Windows Community Toolkit. winapp find-apiesamina le API di Windows Runtime a cui fa riferimento il progetto. Gli agenti li usano per generare codice da esempi reali e metadati invece di indovinare.
Usare winapp CLI con gli agenti di intelligenza artificiale

Un puntatore e un'icona di tocco su un riquadro alzato su una banda diagonale di pixel blu

Automatizza e testa l'interfaccia utente dell'app
winapp uiesamina e interagisce con le app in esecuzione tramite Automazione interfaccia utente e acquisisce screenshot e registrazioni. Eseguire l'app in Windows Sandbox per testarla in un ambiente pulito.
Automazione interfaccia utente

Icona del pacchetto su un riquadro alzato su un'onda di pixel blu

Imballa, firma e spedisci
winapp pack compila il progetto, lo crea come pacchetto MSIX e lo firma in un unico passaggio. Generare certificati di sviluppo in locale, firmare build di rilascio con Firma attendibile di Azure e installare la CLI di winapp in GitHub Actions o nei runner di Azure DevOps.
Crea il pacchetto della tua app

Icona del puzzle su un riquadro alzato su una banda diagonale di pixel blu

Portare le funzionalità di Windows in qualsiasi framework
Aggiungi Windows SDK e SDK per app di Windows, l'identità del pacchetto e la creazione di pacchetti MSIX alle app create con .NET, C++, Electron, Flutter, Rust o Tauri, senza modificare il sistema di compilazione.
Visualizza i framework supportati

Introduzione a WinUI

Dopo aver installato winapp CLI e .NET SDK, creare ed eseguire un'app WinUI:

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

Quando si è pronti per testare un pacchetto in locale, generare un certificato di sviluppo e creare un pacchetto MSIX firmato:

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

Il certificato di sviluppo usa una password predefinita ed è solo per i test locali. Prima di distribuire l'app, firma l'app con un certificato attendibile, ad esempio con winapp az-sign. Per altre informazioni, vedere Security.

Per una procedura dettagliata che include la configurazione e la prima modifica dell'interfaccia utente, vedi Creare la prima app WinUI. Per visualizzare tutti i modelli disponibili, eseguire winapp new --list. Per il flusso di lavoro completo, tra cui debug, automazione interfaccia utente e creazione di pacchetti, vedere Uso di winapp CLI con WinUI.

Installazione

WinGet

Il modo più semplice per installare l'interfaccia della riga di comando è tramite WinGet (Windows Gestione pacchetti):

winget install Microsoft.winappcli --source winget

Se si usa il modulo PowerShell WinGet, eseguire Install-WinGetPackage Microsoft.winappcli invece.

NPM

Per i progetti Electron, installare tramite NPM:

npm install @microsoft/winappcli --save-dev

GitHub Actions/Azure DevOps

Per le pipeline CI/CD, utilizzare l'azione setup-WinAppCli per installare automaticamente la CLI sui runner/agenti.

Download manuale

Scaricare la build più recente da GitHub Releases.

Verifica l'installazione

Dopo l'installazione, verificare l'installazione chiamando l'interfaccia della riga di comando:

winapp --help

Oppure, se stai utilizzando Electron/Node.js:

npx winapp --help

Usare CLI winapp con gli agenti AI

L'interfaccia della riga di comando di winapp è progettata per funzionare bene con gli agenti di codifica di intelligenza artificiale. Comandi come find-ui e find-api restituiscono un output leggibile dal computer con --json, in modo che un agente possa cercare esempi WinUI reali e Windows Runtime API prima di scrivere codice.

Installare il plug-in winapp per fornire le competenze dell'agente per il workflow CLI di winapp:

# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli

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

Se si lavora in Visual Studio Code, l'estensione WinApp VS Code esegue i comandi dell'interfaccia della riga di comando winapp dall'editor e avvia l'app con l'identità del pacchetto quando si preme F5. Installalo da Visual Studio Marketplace.

Framework supportati

L'interfaccia della riga di comando di winapp funziona con WinUI e altri framework di app:

Struttura Guida
WinUI Introduzione a WinUI
.NET/macchine virtuali Windows/WinForms Introduzione a .NET
.NET MAUI Introduzione a .NET MAUI
C++ (CMake) Inizia con C++
Elettrone Inizia con Electron
Rust Inizia con Rust
Tauri Inizia con Tauri
Flutter Inizia con Flutter

Guide aggiuntive:

  • Confezionamento di un EXE/CLI: guida dettagliata per il confezionamento di un EXE/CLI esistente in formato MSIX.
  • Creazione di pacchetti sparse: assegnare a un'app non pacchettizzata un'identità di pacchetto dell'app con un MSIX di sola identità (sparse) e contenuto esterno
  • Completamento shell: abilitare il completamento della scheda per comandi, opzioni e valori in PowerShell, bash, zsh e fish
  • Indicazioni sulla sicurezza: quali certificati di sviluppo e modalità sviluppatore cambiano nel computer, come gestire devcert.pfxe come firmare per la produzione

Panoramica dei comandi

Categoria Comandi
Crea e configura nuovo, inizializza, ripristina, aggiorna
Esegui ed esegui il debug run, create-debug-identity, embed-identity, unregister
Imballaggio pacchetto
Manifesti genera manifest, aggiorna-risorse manifest, aggiungi-alias manifest
Certificati e firma cert generate, cert install, sign, az-sign, create-external-catalog
Ricerca di codice per gli agenti find-ui, find-api
Automazione UI e Sandbox interfaccia utente, target
utilità 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

Per la documentazione completa della CLI, vedere riferimento CLI.

Samples

La cartella samples in GitHub contiene un progetto eseguibile per ogni framework supportato:

Sample Description
app WinUI App WinUI pacchettizzata registrata e avviata con winapp run
app WinUI senza pacchetto App WinUI non pacchettizzata avviata con winapp run
Soluzione WinUI Soluzione multiprogetto (progetto di app e test) che mostra come winapp run seleziona il progetto dell'app
App WinUI C++ Finestra WinUI creata in C++ con CMake, senza XAML o MSBuild
macchine virtuali Windows app app desktop macchine virtuali Windows
.NET MAUI app progetto Windows .NET MAUI pacchettizzato e firmato con la CLI winapp
App C++ App Win32 C++ nativa compilata con CMake
Elettrone App Electron Forge con un manifesto, asset e componenti aggiuntivi C++ e C# nativi
app Rust App in Rust che chiama le API di Windows
App Tauri App Tauri con un backend in Rust
app Flutter App desktop Flutter con identità del pacchetto e SDK per app di Windows
App essenziale app macchine virtuali Windows con pacchettizzazione sparse (MSIX solo identità) e un installer

Perché l'identità del pacchetto?

Molte API Windows richiedono che l'app disponga dell'identità del pacchetto. Con l'identità, l'app ottiene accesso a funzionalità come notifiche, integrazione di sistema operativo e intelligenza artificiale sul dispositivo. I modelli di app WinUI includono un manifesto del pacchetto, quindi winapp run assegna loro l'identità per impostazione predefinita. Per un elenco completo di ciò che sblocca l'identità del pacchetto e per aiutarti a scegliere il modello di packaging più adatto, vedere Panoramica della creazione di pacchetti.

Open source

L'interfaccia della riga di comando di winapp è open source. È possibile trovare il codice sorgente, i problemi relativi ai file e contribuire a GitHub. Per informazioni, vedere Supporto tecnico.