Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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
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, winapp decodifica le eccezioni stowed per indirizzarti 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 la CLI di winapp in GitHub Actions o nei runner di Azure DevOps.
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 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.
Argomenti correlati
- Crea la tua prima app WinUI
- Panoramica di WinUI
- Riferimento CLI
- Debug con l'identità del pacchetto
- Linee guida per la sicurezza
- Automazione interfaccia utente
- Esecuzione di Windows Sandbox
- API programmatica NPM
- Guida al framework
- SDK per app di Windows documentazione
- Documentazione sulla creazione di pacchetti MSIX