Creación de una aplicación WinUI 3


Pasos siguientes

Enhorabuena, ha creado su primera aplicación de WinUI 3 con el SDK de Aplicaciones para Windows. Ya está listo para iniciar el recorrido de desarrollo.

Conceptos clave

  • Aplicaciones empaquetadas: las aplicaciones empaquetadas se empaquetan mediante MSIX. MSIX es un formato de paquete que proporciona a los usuarios finales una manera fácil de instalar, desinstalar y actualizar sus aplicaciones de Windows mediante una interfaz de usuario moderna.
  • Aplicaciones sin empaquetar: las aplicaciones sin empaquetar no usan MSIX. Normalmente, se instalan y actualizan mediante los archivos .exe o .msi. Muchas aplicaciones sin empaquetar guían a los usuarios finales a través de un asistente para la instalación mediante una interfaz de usuario clásica.

Instrucciones para aplicaciones de WinUI 3 empaquetadas de C#

Para crear una aplicación de escritorio de WinUI 3 empaquetada con C# y .NET 5 mediante el SDK de Aplicaciones para Windows 1.0:

  1. En Visual Studio, seleccione Archivo - Nuevo - Project.

  2. En los filtros desplegables del proyecto, selecciona C# , Windows y WinUI, respectivamente.

  3. Seleccione uno de los siguientes tipos de proyecto y, a continuación, haga clic en Siguiente.

    • Blank App, Packaged (WinUI 3 in Desktop) (Aplicación vacía, empaquetada [WinUI 3 en el Escritorio]): crea una aplicación de escritorio de C# .NET con una interfaz de usuario basada en WinUI. El proyecto generado se configura con el manifiesto de paquete y otra compatibilidad necesaria para compilar la aplicación en un paquete MSIX sin el uso de un proyecto de empaquetado independiente. Para más información, consulte Empaquetado de la aplicación mediante MSIX de un solo proyecto.

      Nota

      Si instaló Windows App SDK 1.0 versión preliminar 2 con Visual Studio 2019, esta plantilla de proyecto tiene un problema conocido que produce un error de compilación. Para resolver este problema, instale la extensión VSIX de herramientas de empaquetado MSIX de proyecto único para Visual Studio 2019 después de instalar Windows App SDK 1.0 versión preliminar 2.

    • Aplicación vacía, empaquetada con el Proyecto de paquete de aplicación de Windows (WinUI 3 en el Escritorio) : crea una aplicación de escritorio de C# .NET con una interfaz de usuario basada en WinUI. La solución generada incluye un Proyecto de paquete de aplicación de Windows independiente configurado para compilar la aplicación en un paquete MSIX.

    Captura de pantalla del asistente para crear un nuevo proyecto con la opción Aplicación vacía, empaquetada (WinUI en escritorio) resaltada.

  4. Escribe un nombre de proyecto, elige todas las opciones que quieras y haz clic en Crear.

  5. En el siguiente cuadro de diálogo, establezca Versión de destino en Windows 10, versión 2004 (compilación 19041), y Versión mínima en Windows 10, versión 1809 (compilación 17763) y, a continuación, haga clic en Aceptar.

    Versión de destino y mínima

  6. En este momento, Visual Studio genera uno o varios proyectos:

    • Nombre de proyecto (Desktop) : Este proyecto contiene el código de la aplicación. El archivo App.xaml y el archivo de código subyacente App.xaml.cs definen una clase que representa la instancia de la aplicación. El archivo MainWindow.xaml y el archivo de código subyacente MainWindow.xaml.cs definen una clase que representa la ventana principal que muestra la aplicación. Estas clases se derivan de los tipos del espacio de nombres Microsoft.UI.Xaml proporcionados por WinUI.

      Si usó la plantilla de proyecto Blank App, Packaged (WinUI 3 in Desktop) (Aplicación vacía, empaquetada [WinUI 3 en el Escritorio]), este proyecto también incluye el manifiesto de paquete para compilar la aplicación en un paquete MSIX.

      Captura de pantalla de Visual Studio en la que se muestra el panel Explorador de soluciones y el contenido del archivo X A M L punto C S de las ventanas principales para un solo proyecto M S I X.

    • Nombre de proyecto (paquete) : este proyecto solo se genera si usa la plantilla de proyecto Aplicación vacía, empaquetada con el Proyecto de paquete de aplicación de Windows (WinUI 3 en el Escritorio) . Se trata de un Proyecto de paquete de aplicación de Windows que está configurado para compilar la aplicación en un paquete MSIX. Este proyecto contiene el manifiesto de paquete para la aplicación y es el proyecto de inicio de la solución de forma predeterminada.

      Captura de pantalla de Visual Studio en la que se muestra el panel Explorador de soluciones y el contenido del archivo Package app x manifest.

  7. Habilite la implementación del proyecto en el Administrador de configuración. Si no sigue estos pasos para habilitar la implementación, se producirá el siguiente error al intentar ejecutar o depurar el proyecto en el equipo de desarrollo: "Es necesario implementar el proyecto antes de que se pueda depurar. Please enable Deploy in the Configuration Manager" (Habilite Implementar en el Administrador de configuración).

    1. Seleccione Compilar : Administrador de configuración.

    2. En Administrador de configuración, haga clic en la casilla Implementar para cada combinación de configuración y plataforma (por ejemplo, Depurar y x86, Depurar y arm64, Versión y x64, etc.).

      Nota

      Asegúrese de usar los menús desplegables Active solution configuration (Configuración de solución activa) y Active solution platform (Plataforma de solución activa) en la parte superior en lugar de los menús desplegables Configuración y Plataforma en la misma fila que la casilla Implementar.

      Habilitación de Implementar en el Administrador de configuración

  8. Para agregar un nuevo elemento al proyecto de aplicación, haga clic con el botón derecho en el nodo de proyecto nombre de Project (escritorio) en Explorador de soluciones y seleccione Agregar - Nuevo elemento. En el cuadro de diálogo Agregar nuevo elemento, selecciona la pestaña WinUI, elige el elemento que deseas agregar y, a continuación, haz clic en Agregar. Para más detalles sobre los elementos disponibles, vea Plantillas de elementos para WinUI 3.

    Captura de pantalla del cuadro de diálogo Agregar nuevo elemento con la opción Installed Visual C sharp Items Win U I seleccionada y la opción > Página en blanco resaltada.

  9. Compile y ejecute la solución en el equipo de desarrollo para confirmar que la aplicación se ejecuta sin errores.

Conceptos clave

  • Aplicaciones empaquetadas: las aplicaciones empaquetadas se empaquetan mediante MSIX. MSIX es un formato de paquete que proporciona a los usuarios finales una manera fácil de instalar, desinstalar y actualizar sus aplicaciones de Windows mediante una interfaz de usuario moderna.
  • Aplicaciones sin empaquetar: las aplicaciones sin empaquetar no usan MSIX. Normalmente, se instalan y actualizan mediante los archivos .exe o .msi. Muchas aplicaciones sin empaquetar guían a los usuarios finales a través de un asistente para la instalación mediante una interfaz de usuario clásica.

Instrucciones para aplicaciones de WinUI 3 sin empaquetar de C#

Para crear una aplicación de escritorio de WinUI 3 sin empaquetar con C# y .NET 5 mediante el SDK de Aplicaciones para Windows 1.0:

  1. Instale el entorno del SDK de Aplicaciones para Windows y los paquetes MSIX. Estos elementos son necesarios para ejecutar e implementar la aplicación sin empaquetar.

  2. Cree una nueva aplicación mediante la plantilla de proyecto "Blank App, Packaged (WinUI 3 in Desktop)" (Aplicación vacía, empaquetada [WinUI 3 en el Escritorio]). Cuando se empieza con una aplicación empaquetada, es necesario usar los diagnósticos de XAML.

  3. Agregue esta propiedad al archivo del proyecto:

    <WindowsPackageType>None</WindowsPackageType>
    

    Visual Studio 2019: archivo de proyecto C# con WindowsPackageType establecido en ninguno y resaltado

  4. Para depurar en Visual Studio, seleccione el perfil de inicio "Sin empaquetar" en la lista desplegable Iniciar. De lo contrario, verá el error: "The project doesn't know how to run the profile…" (El proyecto no sabe cómo ejecutar el perfil...)"

    Nota

    No es necesario si ejecuta la aplicación (.exe) desde la línea de comandos o el explorador de archivos de Windows.

    Visual Studio: inicio de la lista desplegable con el perfil de inicio de la aplicación sin empaquetar de C# resaltado

  5. Si aún no lo ha hecho, instale el entorno de ejecución del SDK de Aplicaciones para Windows y los paquetes MSIX, que son necesarios para ejecutar e implementar la aplicación.

    Descarga de los paquetes MSIX del instalador más recientes

  6. Compile y ejecute. Consulte el tutorial del SDK de Aplicaciones para Windows para implementar aplicaciones C# sin empaquetar.

  7. para obtener información adicional sobre la implementación. Este tutorial le guiará en el uso de la API de programa previo para inicializar el componente Programa previo a fin de que la aplicación pueda usar el SDK de Aplicaciones para Windows y las API de WinUI 3.

Conceptos clave

  • Aplicaciones empaquetadas: las aplicaciones empaquetadas se empaquetan mediante MSIX. MSIX es un formato de paquete que proporciona a los usuarios finales una manera fácil de instalar, desinstalar y actualizar sus aplicaciones de Windows mediante una interfaz de usuario moderna.
  • Aplicaciones sin empaquetar: las aplicaciones sin empaquetar no usan MSIX. Normalmente, se instalan y actualizan mediante los archivos .exe o .msi. Muchas aplicaciones sin empaquetar guían a los usuarios finales a través de un asistente para la instalación mediante una interfaz de usuario clásica.

Instrucciones para aplicaciones de WinUI 3 empaquetadas de C++

Para crear una aplicación de escritorio de WinUI 3 empaquetada con C++ mediante el SDK de Aplicaciones para Windows 1.0:

  1. En Visual Studio, seleccione Archivo - Nuevo - Project.

  2. En los filtros desplegables del proyecto, selecciona C++ , Windows y WinUI.

  3. Seleccione uno de los siguientes tipos de proyecto y, a continuación, haga clic en Siguiente.

    • Blank App, Packaged (WinUI 3 in Desktop) (Aplicación vacía, empaquetada [WinUI 3 en el Escritorio]): crea una aplicación de escritorio de C++ con una interfaz de usuario basada en WinUI. El proyecto generado se configura con el manifiesto de paquete y otra compatibilidad necesaria para compilar la aplicación en un paquete MSIX sin el uso de un proyecto de empaquetado independiente. Para más información, consulte Empaquetado de la aplicación mediante MSIX de un solo proyecto.

      Nota

      Este tipo de proyecto solo admite un único ejecutable en el paquete MSIX generado. Si necesita combinar varios ejecutables en un único paquete MSIX, debe usar la plantilla de proyecto Aplicación vacía, empaquetada con el Proyecto de paquete de aplicación de Windows (WinUI 3 en el Escritorio) o agregar un Proyecto de paquete de aplicación de Windows a la solución.

    • Aplicación vacía, empaquetada con el Proyecto de paquete de aplicación de Windows (WinUI 3 en el Escritorio) : crea una aplicación de escritorio de C++ con una interfaz de usuario basada en WinUI. La solución generada incluye un Proyecto de paquete de aplicación de Windows independiente configurado para compilar la aplicación en un paquete MSIX.

    Otra captura de pantalla del asistente para crear un nuevo proyecto con la opción Blank App Packaged (WinUI in Desktop) (Aplicación vacía empaquetada [WinUI en el escritorio]) resaltada.

  4. Escribe un nombre de proyecto, elige todas las opciones que quieras y haz clic en Crear.

  5. En el siguiente cuadro de diálogo, establezca Versión de destino en Windows 10, versión 2004 (compilación 19041), y Versión mínima en Windows 10, versión 1809 (compilación 17763) y, a continuación, haga clic en Aceptar.

    Versión de destino y mínima

  6. En este momento, Visual Studio genera uno o varios proyectos:

    • Nombre de proyecto (Desktop) : Este proyecto contiene el código de la aplicación. El archivo App.xaml y varios archivos de código app definen una clase que representa la instancia de la aplicación, y MainWindow.xaml y varios archivos de código MainWindow definen una clase que representa la ventana principal que muestra la aplicación. Estas clases se derivan de los tipos del espacio de nombres Microsoft.UI.Xaml proporcionados por WinUI.

      Si usó la plantilla de proyecto Blank App, Packaged (WinUI 3 in Desktop) (Aplicación vacía, empaquetada [WinUI 3 en el Escritorio]), este proyecto también incluye el manifiesto de paquete para compilar la aplicación en un paquete MSIX.

      Captura de pantalla de Visual Studio en la que se muestra el panel Explorador de soluciones y el contenido del archivo X A M L de las ventanas principales para un solo proyecto M S I X.

    • Nombre de proyecto (paquete) : este proyecto solo se genera si usa la plantilla de proyecto Aplicación vacía, empaquetada con el Proyecto de paquete de aplicación de Windows (WinUI 3 en el Escritorio) . Se trata de un Proyecto de paquete de aplicación de Windows que está configurado para compilar la aplicación en un paquete MSIX. Este proyecto contiene el manifiesto de paquete para la aplicación y es el proyecto de inicio de la solución de forma predeterminada.

      Otra captura de pantalla de Visual Studio que muestra el panel Explorador de soluciones y el contenido del archivo Package app x manifest.

  7. Para agregar un nuevo elemento al proyecto de aplicación, haga clic con el botón derecho en el nodo de proyecto nombre de Project (escritorio) en Explorador de soluciones y seleccione Agregar - Nuevo elemento. En el cuadro de diálogo Agregar nuevo elemento, selecciona la pestaña WinUI, elige el elemento que deseas agregar y, a continuación, haz clic en Agregar. Para más detalles sobre los elementos disponibles, vea Plantillas de elementos para WinUI 3.

    Nuevo elemento

  8. Compile y ejecute la solución en el equipo de desarrollo para confirmar que la aplicación se ejecuta sin errores.

Conceptos clave

  • Aplicaciones empaquetadas: las aplicaciones empaquetadas se empaquetan mediante MSIX. MSIX es un formato de paquete que proporciona a los usuarios finales una manera fácil de instalar, desinstalar y actualizar sus aplicaciones de Windows mediante una interfaz de usuario moderna.
  • Aplicaciones sin empaquetar: las aplicaciones sin empaquetar no usan MSIX. Normalmente, se instalan y actualizan mediante los archivos .exe o .msi. Muchas aplicaciones sin empaquetar guían a los usuarios finales a través de un asistente para la instalación mediante una interfaz de usuario clásica.

Instrucciones para aplicaciones de WinUI 3 sin empaquetar de C++

Para crear una aplicación de escritorio de WinUI 3 sin empaquetar con C++ mediante el SDK de Aplicaciones para Windows 1.0:

  1. Instale Single-project MSIX Packaging Tools.

  2. Instale el entorno del SDK de Aplicaciones para Windows y los paquetes MSIX. Estos elementos son necesarios para ejecutar e implementar la aplicación sin empaquetar.

  3. Instale Microsoft Visual C++ Redistributable (VCRedist) para la arquitectura adecuada.

    • La versión más reciente del componente redistribuible es compatible con la versión más reciente de Visual Studio GA, así como con todas las versiones de Visual Studio que se usan para compilar archivos binarios del SDK de Aplicaciones para Windows.
    • Las compilaciones Insider de Visual Studio pueden haber instalado una versión posterior de VCRedist y, la ejecución de la versión pública producirá este error, que se puede omitir: Error 0x80070666: Cannot install a product when a newer version is installed (Error 0x80070666: No se puede instalar un producto cuando está instalada una versión más reciente).

    Nota

    Si no tiene VCRedist instalado en un dispositivo de destino, se producirá un error en los vínculos dinámicos a c:\windows\system32\vcruntime140.dll, que se pueden manifestar a los usuarios finales de muchas maneras.

  4. Cree una nueva aplicación mediante la plantilla de proyecto "Blank App, Packaged (WinUI 3 in Desktop)" (Aplicación vacía, empaquetada [WinUI 3 en el Escritorio]). Cuando se empieza con una aplicación empaquetada, es necesario usar los diagnósticos de XAML.

  5. Agregue esta propiedad al archivo del proyecto:

    <WindowsPackageType>None</WindowsPackageType>
    
  6. Cambie la propiedad "AppxPackage" a "false":

     <AppxPackage>false</AppxPackage>
    
  7. Si aún no lo ha hecho, instale el entorno de ejecución del SDK de Aplicaciones para Windows y los paquetes MSIX, que son necesarios para ejecutar e implementar la aplicación.

    Descarga de los paquetes MSIX del instalador más recientes

  8. Compile y ejecute. Consulte el tutorial del SDK de Aplicaciones para Windows para implementar aplicaciones C++ sin empaquetar a fin de obtener información adicional sobre la implementación. Este tutorial le guiará en el uso de la API de programa previo para inicializar el componente Programa previo a fin de que la aplicación pueda usar el SDK de Aplicaciones para Windows y las API de WinUI 3. -->