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.
Para habilitar las pruebas unitarias de sus ViewModels y servicios, cree un proyecto de biblioteca de clases independiente. Necesita este proyecto porque los proyectos de prueba unitaria de WinUI 3 no pueden hacer referencia directamente a proyectos de aplicaciones de WinUI.
Comprensión de la plantilla de la biblioteca de clases WinUI
La plantilla WinUI Class Library project crea una biblioteca de clases administradas (DLL) .NET diseñada específicamente para su uso con aplicaciones de escritorio winUI. Esta plantilla forma parte del Windows App SDK y proporciona funcionalidades importantes que no incluye una biblioteca de clases .NET estándar.
Diferencias clave de una biblioteca de clases de .NET
La plantilla Biblioteca de clases de WinUI difiere de una biblioteca de clases .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 access a las API de Windows. -
Windows App SDK integration: incluye referencias a los paquetes de NuGet
Microsoft.WindowsAppSDKyMicrosoft.Windows.SDK.BuildTools, lo que proporciona access a las API de WinUI 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 tiempo de ejecución de Windows: está configurado para los identificadores específicos de tiempo de ejecución de Windows (win-x86, win-x64, win-arm64).
¿Por qué usar una biblioteca de clases winUI?
Use la plantilla WinUI Class Library en lugar de una Biblioteca de clases .NET cuando la biblioteca necesite:
-
Reference Tipos y controles WinUI: La plantilla de Biblioteca de Clases de WinUI permite usar tipos del espacio de nombres
Microsoft.UI.Xamly otras API de Windows App SDK en el código de 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.
- Integrate con aplicaciones WinUI: la plantilla está configurada para funcionar sin problemas con aplicaciones de escritorio de WinUI, lo que garantiza la compatibilidad con el modelo de implementación y el entorno de ejecución del 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
Utilice un proyecto estándar de biblioteca de clases .NET cuando su biblioteca:
- Contiene solo código .NET puro (ViewModels, modelos, servicios, utilidades)
- No hace referencia a ningún tipo WinUI ni de 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 Extender la aplicación de consola en C# y depurar 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. Aunque los modelos de vista y los servicios no requieren actualmente tipos de WinUI, el uso de esta plantilla proporciona flexibilidad y garantiza una integración adecuada con el entorno de Windows App SDK.
Crea el proyecto WinUINotes.Bus
Cree una nueva biblioteca de clases WinUI denominada WinUINotes.Bus para contener sus ViewModels, modelos y servicios en la misma solución que la aplicación WinUI.
En Visual Studio, haga clic con el botón derecho en la solución en Solution Explorer.
Seleccione Agregar>Nuevo Project... .
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 marco de Windows App SDK y WinUI.
Asigne el nombre project
WinUINotes.Busy seleccione Create.Elimine el archivo predeterminado
Class1.cs.
Agregar referencias de proyecto
Las referencias del proyecto permiten que la aplicación del proyecto WinUI use los modelos de vista y los servicios definidos en la biblioteca de clases.
- Haga clic con el botón derecho en el proyecto WinUINotes y seleccione Agregar>Referencia de proyecto... .
- Compruebe el WinUINotes.Bus project y seleccione OK.
El proyecto Bus contiene sus ViewModels, modelos y servicios, por lo que puede probarlos independientemente de la capa de la interfaz de usuario.
Nota:
El término "Bus" indica un proyecto que actúa como una capa de comunicación o como 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.