app di Windows Development CLI (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. WinApp CLI configura SDK per app di Windows e Windows SDK, assegna all'app l'identità del pacchetto, in modo da poter chiamare API come notifiche e intelligenza artificiale sul dispositivo e crea pacchetti come MSIX per Microsoft Store o per la distribuzione personalizzata.

Vantaggi principali di WinApp CLI

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

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, l'interfaccia della riga di comando di WinApp decodifica le eccezioni in modo che puntino al gestore eventi XAML che non è riuscito. Debug con l'identità del pacchetto

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

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

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 WinApp CLI in GitHub Actions o Azure DevOps runner. Crea il pacchetto della tua app

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 dell'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 WinApp CLI con gli agenti AI

WinApp CLI è progettata per funzionare bene con gli agenti di coding IA. 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 i plug-in agente per fornire all'agente funzionalità per WinApp CLI e WinUI:

  • winappcli: agente e competenze per i comandi CLI di WinApp, i flussi di lavoro e la risoluzione dei problemi.
  • winui: competenze per la creazione, la creazione di pacchetti e il test di app WinUI 3.
# GitHub Copilot CLI
copilot plugin marketplace add microsoft/WinAppCli
copilot plugin install winappcli@winappcli
copilot plugin install winui@winappcli

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

# OpenAI Codex
codex plugin marketplace add microsoft/WinAppCli
codex plugin add winappcli@winappcli
codex plugin add winui@winappcli

Se si lavora in Visual Studio Code, l'estensione WinApp VS Code esegue i comandi dell'interfaccia della riga di comando di 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.
  • app .NET basate su file: eseguono un singolo .cs file con identità del pacchetto, nessun file di progetto o manifesto necessario
  • 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
  • DevTools: ispezionare un'app WinUI 3 in esecuzione, provare le modifiche alle proprietà attive e lasciare commenti per un agente (avanzato)
  • 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 ui, devtools, target
utilità tool, store, get-winapp-path, config, 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 di 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

WinApp CLI è open source. È possibile trovare il codice sorgente, i problemi relativi ai file e contribuire a GitHub. Per informazioni, vedere Supporto tecnico.