Partager via


Créer un projet de bibliothèque de classes

Pour activer les tests unitaires de vos ViewModels et services, créez un projet de bibliothèque de classes distincte. Vous avez besoin de ce projet, car les projets de test unitaire WinUI 3 ne peuvent pas référencer directement les projets d'applications WinUI.

Présentation du modèle bibliothèque de classes WinUI

Le modèle WinUI Class Library project crée une bibliothèque de classes managées (DLL) .NET spécifiquement conçue pour une utilisation avec des applications de bureau WinUI. Ce modèle fait partie du Windows App SDK et fournit des fonctionnalités importantes qu'une bibliothèque de classes .NET standard n'inclut pas.

Différences clés d’une bibliothèque de classes .NET

Le modèle bibliothèque de classes WinUI diffère d’une bibliothèque de classes standard .NET de plusieurs façons importantes :

  • ciblage spécifique àWindows : il cible une infrastructure spécifique à Windows (comme net8.0-windows10.0.19041.0) plutôt que l’infrastructure de .NET multiplateforme, donnant access aux API Windows.
  • intégration Windows App SDK : elle inclut des références aux packages NuGet Microsoft.WindowsAppSDK et Microsoft.Windows.SDK.BuildTools, fournissant un accès aux API WinUI et Windows App SDK.
  • La prise en charge deWinUI est activée : le project inclut <UseWinUI>true</UseWinUI> dans sa configuration, ce qui active les tâches de génération spécifiques à WinUI et la compilation XAML.
  • Identificateurs d'exécution Windows : il est configuré pour les identificateurs spécifiques à Windows (win-x86, win-x64, win-arm64).

Pourquoi utiliser une bibliothèque de classes WinUI ?

Utilisez le modèle WinUI Class Library au lieu d’une bibliothèque de classes .NET standard lorsque votre bibliothèque doit :

  • Références des types et contrôles WinUI : Le modèle de bibliothèque de classes WinUI vous permet d'utiliser des types à partir de l'espace de noms Microsoft.UI.Xaml et d'autres API du SDK d'applications Windows dans le code de votre bibliothèque.
  • Incluez des ressources XAML : si votre bibliothèque contient UserControls, des contrôles personnalisés ou d’autres ressources XAML, vous avez besoin du modèle bibliothèque de classes WinUI pour compiler et empaqueter correctement ces ressources.
  • Integrate avec les applications WinUI : le modèle est configuré pour fonctionner en toute transparence avec les applications de bureau WinUI, garantissant ainsi la compatibilité avec le Windows App SDK runtime et le modèle de déploiement.
  • Prise en charge de la compilation de balisage XAML : le modèle inclut les tâches de génération nécessaires pour compiler des fichiers XAML dans la bibliothèque.

Quand utiliser une bibliothèque de classes .NET standard

Utilisez un projet de bibliothèque de classes .NET standard lorsque votre bibliothèque :

  • Contient uniquement du code .NET pur (ViewModels, modèles, services, utilitaires)
  • Ne fait référence à aucun type de WinUI ou de Windows App SDK
  • N’inclut aucun fichier XAML ni code lié à l’interface utilisateur
  • Doit être partagé entre différents types d’applications (pas seulement les applications WinUI)
  • Cible plusieurs plateformes (par exemple, .NET MAUI ou ASP.NET Core) ou des systèmes d’exploitation (par exemple, Linux ou macOS)

Pour un didacticiel sur l’ajout d’une bibliothèque de classes .NET à votre solution, consultez Étendre une application console C# et déboguer dans Visual Studio.

Pour ce tutoriel, utilisez le modèle bibliothèque de classes WinUI , car il vous permet de référencer les types WinUI si nécessaire à l’avenir, et il est spécifiquement conçu pour s’intégrer aux applications WinUI. Bien que nos viewModels et services ne nécessitent pas actuellement de types WinUI, l'utilisation de ce modèle offre une flexibilité et garantit une intégration appropriée avec l'environnement Windows App SDK.

Créer le project WinUINotes.Bus

Créez un nouveau projet de bibliothèque de classes WinUI nommé WinUINotes.Bus pour contenir vos ViewModels, modèles et services dans la même solution que votre projet d'application WinUI.

  1. Dans Visual Studio, cliquez avec le bouton droit sur la solution dans Solution Explorer.

  2. Sélectionnez Add>New Project... .

  3. Choisissez le modèle bibliothèque de classes WinUI , puis sélectionnez Suivant.

    Note

    Veillez à sélectionner la bibliothèque de classes WinUI, pas seulement la bibliothèque de classes. Le modèle bibliothèque de classes WinUI inclut des références à l’infrastructure Windows App SDK et WinUI.

  4. Nommez le project WinUINotes.Bus et sélectionnez Create.

  5. Supprimez le fichier par défaut Class1.cs .

Ajouter des références de projet

Les références de projet permettent à votre projet d'application WinUI d'utiliser les modèles de vue et les services définis dans le projet de bibliothèque de classes.

  1. Cliquez avec le bouton droit sur le projet WinUINotes et sélectionnez Ajouter>Référence de projet....
  2. Vérifiez le projet WinUINotes.Bus et sélectionnez OK.

Le bus project contient vos ViewModels, modèles et services, afin de pouvoir les tester indépendamment de la couche d’interface utilisateur.

Note

Le terme « Bus » désigne un projet qui sert de couche de communication ou d'intermédiaire. Il contient la logique de présentation (ViewModels), la logique métier (modèles) et les services que vous pouvez partager et tester indépendamment de l’interface utilisateur.