Uso del SDK de Aplicaciones para Windows en un proyecto existente

Si tiene un proyecto de escritorio en el que desea usar el SDK de Aplicaciones para Windows, puede instalar el paquete NuGet SDK de Aplicaciones para Windows en el proyecto (la versión más reciente o cualquier versión que necesite). Las aplicaciones sin empaquetar (es decir, las aplicaciones que no usan MSIX para su tecnología de implementación) deben seguir este procedimiento si van a usar la SDK de Aplicaciones para Windows. Pero las aplicaciones empaquetadas también pueden hacerlo.

Importante

Si está trabajando en una aplicación para UWP, consulte Migración de UWP al SDK de Aplicaciones para Windows.

Nota

Este procedimiento se admite en proyectos de .NET 6 (y versiones posteriores) de C# y proyectos de escritorio de C++. Esos tipos de proyecto pueden usar paquetes NuGet desde el canal de versión estable, el canal de versión preliminar o el canal de versión experimental.

Requisitos previos

Instrucciones

  1. Abra un proyecto existente en Visual Studio.

    Nota

    Si tiene un proyecto de escritorio de C#, asegúrese de que el elemento TargetFramework del archivo del proyecto está establecido en un moniker específico de Windows 10 (por ejemplo, net6.0-windows10.0.19041.0) para que pueda llamar a Windows Runtime API. Para obtener más información, consulta Llamar a las API de Windows Runtime en aplicaciones de escritorio. Además, debe tener como destino 18362 o posterior, ya que hay un problema conocido que bloquea las aplicaciones destinadas a 17763 (consulte Errores de compilación al usar TFM de 17763 en GitHub).

  2. Asegúrese de que las referencias de paquete están habilitadas :

    1. En Visual Studio, haz clic en Herramientas>Administrador de paquetes NuGet>Configuración del Administrador de paquetes.
    2. Asegúrese de que PackageReference está seleccionado para formato de administración de paquetes predeterminado.
  3. Haga clic con el botón derecho en el proyecto, en el Explorador de soluciones, y elija Administrar paquetes NuGet.

  4. En la ventana Administrador de paquetes NuGet , active la casilla Incluir versión preliminar cerca de la parte superior de la ventana, seleccione la pestaña Examinar y busque uno de los siguientes paquetes:

  5. Después de encontrar el SDK de Aplicaciones para Windows paquete NuGet adecuado, seleccione el paquete y haga clic en Instalar en el panel derecho de la ventana Administrador de paquetes NuGet.

    Captura de pantalla del paquete NuGet SDK de Aplicaciones para Windows que se está instalando

    Nota

    El paquete NuGet de SDK de Aplicaciones para Windows contiene otros subpaquetes (incluidos Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI y otros) que contienen las implementaciones de componentes específicos de la SDK de Aplicaciones para Windows. No puede instalar estos subpaquetes individualmente para hacer referencia solo a determinados componentes del proyecto. Debe instalar el paquete NuGet principal SDK de Aplicaciones para Windows, que incluye todos los componentes.

  6. Solo para aplicaciones sin empaquetar. Para que la aplicación sin empaquetar pueda usar SDK de Aplicaciones para Windows API y componentes, la aplicación debe cargar primero el entorno de ejecución de SDK de Aplicaciones para Windows para hacer referencia al paquete de SDK de Aplicaciones para Windows framework. Para obtener más información, consulta Uso del entorno de ejecución de SDK de Aplicaciones para Windows para aplicaciones empaquetadas con ubicación externa o sin empaquetar y Tutorial: Uso de la API de arranque en una aplicación empaquetada con ubicación externa o desempaquetada que usa el SDK de Aplicaciones para Windows.

  7. La aplicación ahora puede usar SDK de Aplicaciones para Windows API y componentes que están disponibles en el canal de versión que instaló. Para obtener la lista de características disponibles, consulte canales de versión.

Más información

Si el proyecto existente es un proyecto de C++ y quieres llamar a Windows Runtime API en el SDK de Aplicaciones para Windows, deberás agregar compatibilidad con C++/WinRT. Consulte Compatibilidad de Visual Studio con C++/WinRT, XAML, la extensión VSIX y el paquete NuGet. Busque información sobre el paquete NuGet Microsoft.Windows.CppWinRT . Sin ese paquete, el proyecto no podrá encontrar los archivos de encabezado del espacio de nombres para Windows Runtime API en el SDK de Aplicaciones para Windows.

Si se produce un error de clase no registrado al intentar usar un componente de SDK de Aplicaciones para Windows, es posible que tenga que agregar al proyecto una dependencia dinámica en el paquete de SDK de Aplicaciones para Windows Framework. Para obtener más información, consulte Paquetes de marcos MSIX y dependencias dinámicas.