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 de 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 el 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
- Visual Studio 2019 o posterior.
- Cargas de trabajo y componentes para el desarrollo de aplicaciones de Windows. Para obtener más información, consulta Instalar herramientas para el SDK de Aplicaciones para Windows.
Instrucciones
Abra un proyecto existente en Visual Studio.
Nota:
Si tienes un proyecto de escritorio de C#, asegúrate de que el elemento TargetFramework del archivo del proyecto esté establecido en un moniker específico de Windows 10 (como net6.0-windows10.0.19041.0) para que puedas llamar a las API de Windows Runtime. 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).
Asegúrese de que las referencias de paquete están habilitadas :
- En Visual Studio, haz clic en Herramientas>Administrador de paquetes NuGet>Configuración del Administrador de paquetes.
- Asegúrese de que PackageReference está seleccionado para el formato de administración de paquetes predeterminado.
Haga clic con el botón derecho en el proyecto, en el Explorador de soluciones, y elija Administrar paquetes NuGet.
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:
- Para instalar una de las versiones 1.0 o posteriores, busque el paquete Microsoft.WindowsAppSDK .
- Para instalar una de las versiones 0.8, busque el paquete Microsoft.ProjectReunion .
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 de NuGet.
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.
Solo para aplicaciones sin empaquetar. Antes de 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 marco de SDK de Aplicaciones para Windows. 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 sin empaquetar que usa el SDK de Aplicaciones para Windows.
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 las API de Windows Runtime 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 las API de Windows Runtime 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 a su proyecto una dependencia dinámica en el paquete de SDK de Aplicaciones para Windows Framework. Para obtener más información, consulte Paquetes de marco MSIX y dependencias dinámicas.