Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
La CLI de desarrollo de Aplicación de Windows se encuentra actualmente en public preview. Las características y comandos pueden cambiar antes de la versión final. Comparta sus comentarios creando una incidencia.
La CLI de desarrollo de Aplicación de Windows (CLI de winapp) es una herramienta de línea de comandos para compilar aplicaciones Windows con el marco que elija. Funciona desde un terminal, el editor que prefiera o un agente de codificación de IA.
- Aplicaciones winUI: crear, ejecutar, depurar, probar y empaquetar aplicaciones WinUI sin abrir Visual Studio.
- Multiplataforma y otros marcos de trabajo: incorpore características de Windows a su aplicación Electron, Flutter, Tauri, Rust, .NET o C++ existente sin cambiar los marcos de trabajo. La CLI de winapp configura el SDK para aplicaciones de Windows y SDK de Windows, proporciona la identidad del paquete de la aplicación para que pueda llamar a las API como las notificaciones y la IA en el dispositivo, y la empaqueta como MSIX para Microsoft Store o su propia distribución.
Ventajas clave de la CLI de winapp
Cree y ejecute aplicaciones WinUI desde el terminal
winapp new crea una aplicación WinUI a partir de las plantillas oficiales, incluidas las plantillas iniciales en blanco, NavigationView, TabView y MVVM.
winapp runcompila el proyecto, instala el Aplicación de Windows Runtime coincidente e inicia la aplicación, ya sea empaquetada o desempaquetada.
Crea tu primera aplicación WinUI
Depuración con diagnósticos de bloqueo e identidad de paquete
Ejecute la aplicación con identidad de paquete para que pueda probar las notificaciones, la inteligencia artificial en el dispositivo y otras API que requieren identidad. Agregue --debug-output para capturar mensajes de depuración y volcados de memoria. Para bloqueos de WinUI, winapp descodifica excepciones almacenadas para indicarle el controlador de eventos XAML que ha fallado.
Depuración con identidad de paquete
Agentes de IA para programar basados en código WinUI real
winapp find-uidevuelve xaml y C# en funcionamiento desde la Galería de WinUI 3 y Windows Community Toolkit.
winapp find-apiinspecciona las API de Windows Runtime a las que hace referencia el proyecto. Los agentes los usan para generar código a partir de muestras reales y metadatos en lugar de adivinar.
Usa la CLI de winapp con agentes de IA
Automatiza y prueba la interfaz de usuario de tu aplicación
winapp ui inspecciona e interactúa con aplicaciones en ejecución a través de Automatización de la interfaz de usuario y captura capturas de pantalla y grabaciones. Ejecute la aplicación en Windows Sandbox para probarla en un entorno limpio.
Automatización de la interfaz de usuario
Empaqueta, firma y envía
winapp pack compila el proyecto, lo empaqueta como MSIX y lo firma en un paso. Genere certificados de desarrollo localmente, firme las compilaciones de versión con Firma de confianza de Azure e instale la CLI de Winapp en Acciones de GitHub o ejecutores de Azure DevOps.
Empaqueta tu aplicación
Lleve las características de Windows a cualquier marco
Agregue el SDK de Windows y SDK de Aplicaciones para Windows, la identidad del paquete y el empaquetado MSIX a las aplicaciones compiladas con .NET, C++, Electron, Flutter, Rust o Tauri, sin cambiar el sistema de compilación.
Ver los frameworks compatibles
Introducción a WinUI
Después de instalar la CLI de Winapp y el SDK de .NET, cree y ejecute una aplicación winUI:
winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run
Cuando esté listo para probar un paquete localmente, genere un certificado de desarrollo y cree un paquete MSIX firmado:
winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx
El certificado de desarrollo usa una contraseña predeterminada y es solo para pruebas locales. Antes de distribuir la aplicación, fírmela con un certificado de confianza, por ejemplo, con winapp az-sign. Para obtener más información, consulte Seguridad.
Para ver un tutorial paso a paso que incluye la configuración y el primer cambio de interfaz de usuario, consulte Crear la primera aplicación de WinUI. Para ver todas las plantillas disponibles, ejecute winapp new --list. Para obtener el flujo de trabajo completo, incluida la depuración, la automatización de la interfaz de usuario y el empaquetado, consulte Uso de la CLI de winapp con WinUI.
Installation
WinGet
La manera más fácil de instalar la CLI es a través de WinGet (Windows Administrador de paquetes):
winget install Microsoft.winappcli --source winget
Si usa el módulo de PowerShell WinGet, ejecute Install-WinGetPackage Microsoft.winappcli en su lugar.
NPM
Para proyectos de Electron, instale mediante NPM.
npm install @microsoft/winappcli --save-dev
Acciones de GitHub/Azure DevOps
Para los flujos de trabajo de CI/CD, utiliza la acción setup-WinAppCli para instalar automáticamente la CLI en tus ejecutores/agentes.
Descarga manual
Descargue la compilación más reciente de GitHub Releases.
Comprobación de la instalación
Una vez instalado, compruebe la instalación llamando a la CLI:
winapp --help
O bien, si usa Electron/Node.js:
npx winapp --help
Usa la CLI de winapp con agentes de IA
La CLI de winapp está diseñada para funcionar bien con agentes de codificación de IA. Comandos como find-ui y find-api devuelven una salida legible por máquina con --json, por lo que un agente puede buscar ejemplos reales de WinUI y Windows Runtime API antes de escribir código.
Instale el complemento winapp para dotar a su agente de capacidades para el flujo de trabajo de la CLI de Winapp:
# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli
# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli
Si trabaja en Visual Studio Code, la extensión winApp VS Code ejecuta comandos de la CLI de Winapp desde el editor e inicia la aplicación con la identidad del paquete al presionar F5. Instálelo desde Visual Studio Marketplace.
Marcos admitidos
La CLI de winapp funciona con WinUI y otros marcos de trabajo de aplicaciones:
| Marco de referencia | Guía |
|---|---|
| WinUI | Introducción a WinUI |
| .NET/WPF/WinForms | Comienza con .NET |
| .NET MAUI | Introducción a .NET MAUI |
| C++ (CMake) | Empieza con C++ |
| Electrón | Comienza con Electron |
| Óxido | Comienza con Rust |
| Tauri | Comienza con Tauri |
| Flutter | Empieza con Flutter |
Guías adicionales:
- Empaquetado de una EXE/CLI: guía paso a paso para empaquetar un EXE/CLI existente como MSIX
- Empaquetado disperso: asigne a una aplicación sin empaquetar una identidad de paquete de aplicación con un MSIX de solo identidad (disperso) y contenido externo
- Autocompletado de shell: habilita el autocompletado con la tecla Tab para comandos, opciones y valores en PowerShell, bash, zsh y fish
-
Guía de seguridad: qué certificados de desarrollo y modo de desarrollador cambian en la máquina, cómo controlar
devcert.pfxy cómo firmar para producción
Introducción a los comandos
| Categoría | Commands |
|---|---|
| Crear y configurar | nuevo, iniciar, restaurar, actualizar |
| Ejecutar y depurar | run, create-debug-identity, embed-identity, unregister |
| Embalaje | empaquetar |
| Manifiestos | manifest generate, manifest update-assets, manifest add-alias |
| Certificados y firma | cert generate, cert install, sign, az-sign, create-external-catalog |
| Búsqueda de código para agentes | find-ui, find-api |
| Automatización de la interfaz de usuario y Sandbox | ui, destino |
| 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 |
Para obtener la referencia completa de la CLI, consulte Referencia de la CLI.
Samples
La carpeta samples de GitHub tiene un proyecto ejecutable para cada marco compatible:
| Ejemplo | Description |
|---|---|
| Aplicación WinUI | Aplicación WinUI empaquetada registrada e iniciada con winapp run |
| Aplicación WinUI no empaquetada | Aplicación WinUI sin empaquetar iniciada con winapp run |
| Solución WinUI | Solución de varios proyectos (proyecto de aplicación y proyecto de prueba) que muestra cómo winapp run selecciona el proyecto de aplicación |
| Aplicación WinUI de C++ | Ventana WinUI creada en C++ con CMake, sin XAML o MSBuild |
| aplicación de WPF | aplicación de escritorio WPF |
| aplicación de .NET MAUI | .NET MAUI Windows proyecto empaquetado y firmado con la CLI de Winapp |
| Aplicación de C++ | Aplicación Win32 nativa de C++ compilada con CMake |
| Electrón | Aplicación Electron Forge con un manifiesto, recursos y complementos nativos de C++ y C# |
| Aplicación Rust | Aplicación Rust que llama a las API de Windows |
| Aplicación Tauri | Aplicación Tauri con un back-end de Rust |
| Aplicación Flutter | Aplicación de escritorio flutter con la identidad del paquete y el SDK de Aplicaciones para Windows |
| Aplicación Sparse | aplicación WPF con empaquetado disperso (MSIX de solo identidad) y un instalador |
¿Por qué la identidad del paquete?
Muchas Windows API requieren que la aplicación tenga la identidad del paquete. Gracias a la identidad, tu aplicación obtiene acceso a funciones como las notificaciones, la integración del sistema operativo y la inteligencia artificial en el dispositivo. Las plantillas de aplicación winUI incluyen un manifiesto de paquete, por lo que winapp run les proporciona la identidad de forma predeterminada. Para obtener una lista completa de qué identidad de paquete desbloquea y ayuda a elegir el modelo de empaquetado adecuado, consulte Introducción al empaquetado.
Código Abierto
La CLI de winapp está código abierto. Puede encontrar el código fuente, los problemas de archivo y contribuir en GitHub. Para obtener ayuda, consulte Soporte técnico.
Temas relacionados
- Crea tu primera aplicación WinUI
- Descripción general de WinUI
- Referencia de la CLI
- Depuración con identidad de paquete
- Guía de seguridad
- Automatización de la interfaz de usuario
- Ejecución de Windows Sandbox
- API de programación de NPM
- Guías de marco
- documentación de SDK de Aplicaciones para Windows
- Documentación de empaquetado msix