Compartir a través de


Creación de un proyecto de biblioteca de clases

Para habilitar las pruebas unitarias de los ViewModels y los servicios, cree un proyecto de biblioteca de clases separada. Necesita este proyecto porque los proyectos de prueba unitaria de WinUI no pueden hacer referencia directamente a proyectos de aplicaciones de WinUI.

Comprensión de la plantilla de la biblioteca de clases WinUI

La plantilla de proyecto Biblioteca de clases winUI crea una biblioteca de clases administradas (DLL) de .NET diseñada específicamente para su uso con aplicaciones de escritorio winUI 3. Esta plantilla forma parte del SDK de aplicaciones de Windows y proporciona funcionalidades importantes que no incluye una biblioteca de clases estándar de .NET.

Diferencias clave de una biblioteca de clases de .NET

La plantilla Biblioteca de clases winUI difiere de una biblioteca de clases de .NET estándar de varias maneras importantes:

  • Destino específico de Windows: tiene como destino un marco específico de Windows (como net8.0-windows10.0.19041.0) en lugar del marco de .NET multiplataforma, lo que proporciona acceso a las API de Windows.
  • Integración del SDK de aplicaciones de Windows: incluye referencias a los paquetes NuGet Microsoft.WindowsAppSDK y Microsoft.Windows.SDK.BuildTools, lo que proporciona acceso a las API de WinUI 3 y Windows App SDK.
  • Compatibilidad con WinUI habilitada: el proyecto incluye <UseWinUI>true</UseWinUI> en su configuración, lo que permite tareas de compilación específicas de WinUI y compilación XAML.
  • Identificadores de Windows runtime: está configurado para identificadores de tiempo de ejecución específicos de Windows (win-x86, win-x64, win-arm64).

¿Por qué usar una biblioteca de clases winUI?

Use la plantilla Biblioteca de clases winUI en lugar de una biblioteca de clases de .NET normal cuando la biblioteca necesite:

  • Referencia a los tipos y controles WinUI 3: La plantilla de biblioteca de clases de WinUI permite usar tipos del espacio de nombres Microsoft.UI.Xaml y otras API de Windows App SDK en el código de la biblioteca.
  • Incluir recursos XAML: si la biblioteca contiene UserControls, controles personalizados u otros recursos XAML, necesita la plantilla Biblioteca de clases winUI para compilar y empaquetar correctamente estos recursos.
  • Integración con aplicaciones winUI: la plantilla está configurada para funcionar sin problemas con aplicaciones de escritorio de WinUI 3, lo que garantiza la compatibilidad con el entorno de ejecución y el modelo de implementación de Windows App SDK.
  • Compatibilidad con la compilación de marcado XAML: la plantilla incluye las tareas de compilación necesarias para compilar archivos XAML en la biblioteca.

Cuándo usar una biblioteca de clases de .NET normal

Usa un proyecto estándar de Biblioteca de Clases de .NET cuando tu biblioteca:

  • Contiene solo código .NET puro (ViewModels, modelos, servicios, utilidades)
  • No hace referencia a ningún tipo de WinUI 3 o Windows App SDK
  • No incluye ningún archivo XAML ni código relacionado con la interfaz de usuario
  • Debe compartirse entre diferentes tipos de aplicación (no solo aplicaciones WinUI).
  • Tiene como destino varias plataformas (por ejemplo, .NET MAUI o ASP.NET Core) o sistemas operativos (por ejemplo, Linux o macOS)

Para ver un tutorial sobre cómo agregar una biblioteca de clases de .NET a la solución, consulte Extensión de la aplicación de consola de C# y depuración en Visual Studio.

En este tutorial, use la plantilla Biblioteca de clases de WinUI, ya que permite hacer referencia a tipos de WinUI si es necesario en el futuro y está diseñado específicamente para integrarse con aplicaciones winUI 3. Aunque los modelos de vista y los servicios no requieren actualmente tipos winUI, el uso de esta plantilla proporciona flexibilidad y garantiza una integración adecuada con el entorno de Windows App SDK.

Creación del proyecto WinUINotes.Bus

Cree un nuevo proyecto de biblioteca de clases WinUI llamado WinUINotes.Bus para contener sus ViewModels, modelos y servicios en la misma solución que el proyecto de aplicación WinUI.

  1. En Visual Studio, haga clic con el botón derecho en la solución en el Explorador de soluciones.

  2. Seleccione Agregar>nuevo proyecto....

  3. Elija la plantilla Biblioteca de clases winUI y seleccione Siguiente.

    Nota:

    Asegúrese de seleccionar Biblioteca de Clases WinUI, no solo Biblioteca de Clases. La plantilla Biblioteca de clases de WinUI incluye referencias al SDK de aplicaciones de Windows y al marco winUI 3.

  4. Asigne al proyecto el nombre WinUINotes.Bus y seleccione Crear.

  5. Elimine el archivo predeterminado Class1.cs .

Agregar referencias de proyecto

Las referencias de proyecto permiten que el proyecto de la aplicación WinUI use los ViewModels y servicios definidos en la librería de clases.

  1. Haga clic con el botón derecho en el proyecto WinUINotes y seleccione Agregar>referencia de proyecto....
  2. Compruebe el proyecto WinUINotes.Bus y seleccione Aceptar.

El proyecto Bus contiene tus modelos de vista, modelos y servicios, para que puedas probarlos de forma independiente de la capa de interfaz de usuario.

Nota:

El término "Bus" indica un proyecto que actúa como capa de comunicación o intermediario. Contiene la lógica de presentación (ViewModels), la lógica de negocios (modelos) y los servicios que puede compartir y probar independientemente de la interfaz de usuario.