Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellen Sie ein separates Klassenbibliotheksprojekt, um Komponententests ihrer ViewModels und Dienste zu aktivieren. Sie benötigen dieses Projekt, da WinUI-Komponententestprojekte nicht direkt auf WinUI-App-Projekte verweisen können.
Grundlegendes zur WinUI-Klassenbibliotheksvorlage
Die WinUI-Klassenbibliothek-Projektvorlage erstellt eine .NET Managed Class Library (DLL) speziell für die Verwendung mit WinUI 3-Desktopanwendungen. Diese Vorlage ist Teil des Windows App SDK und bietet wichtige Funktionen, die eine .NET-Standardklassenbibliothek nicht enthält.
Wichtige Unterschiede von einer .NET-Klassenbibliothek
Die WinUI-Klassenbibliotheksvorlage unterscheidet sich in mehreren wichtigen Arten von einer Standard-Klassenbibliothek in .NET:
-
Windows-spezifische Zielbestimmung: Sie zielt auf ein Windows-spezifisches Framework (z
net8.0-windows10.0.19041.0. B. ) und nicht auf das plattformübergreifende .NET Framework ab, wodurch Zugriff auf Windows-APIs gewährt wird. -
Windows App SDK-Integration: Sie enthält Verweise auf die
Microsoft.WindowsAppSDKUndMicrosoft.Windows.SDK.BuildToolsNuGet-Pakete, die Zugriff auf WinUI 3- und Windows App SDK-APIs bieten. -
WinUI-Unterstützung aktiviert: Das Projekt enthält in seiner Konfiguration
<UseWinUI>true</UseWinUI>, wodurch WinUI-spezifische Buildaufgaben und die XAML-Kompilierung ermöglicht werden. - Windows-Runtime-IDs: Sie ist für Windows-spezifische Runtime-IDs konfiguriert (win-x86, win-x64, win-arm64).
Warum eine WinUI-Klassenbibliothek verwenden?
Verwenden Sie die WinUI-Klassenbibliotheksvorlage anstelle einer regulären .NET-Klassenbibliothek , wenn Ihre Bibliothek folgendes ausführen muss:
-
Referenz WinUI-3-Typen und -Steuerelemente: Mit der WinUI-Klassenbibliotheksvorlage können Sie Typen aus dem
Microsoft.UI.XamlNamensraum und anderen Windows App SDK-APIs in Ihrem Bibliothekscode verwenden. - Einschließen von XAML-Ressourcen: Wenn Ihre Bibliothek UserControls, benutzerdefinierte Steuerelemente oder andere XAML-Ressourcen enthält, benötigen Sie die WinUI-Klassenbibliotheksvorlage, um diese Ressourcen ordnungsgemäß zu kompilieren und zu verpacken.
- Integration in WinUI-Apps: Die Vorlage ist so konfiguriert, dass sie nahtlos mit WinUI 3-Desktop-Apps funktioniert, um die Kompatibilität mit der Windows App SDK-Laufzeit und dem Bereitstellungsmodell sicherzustellen.
- Unterstützung der XAML-Markupkompilierung: Die Vorlage enthält die erforderlichen Buildaufgaben zum Kompilieren von XAML-Dateien in der Bibliothek.
Wann eine reguläre .NET-Klassenbibliothek verwendet werden sollte
Verwenden Sie ein standardmäßiges .NET-Klassenbibliotheksprojekt , wenn Ihre Bibliothek:
- Enthält nur reinen .NET-Code (ViewModels, Modelle, Dienste, Dienstprogramme)
- Verweist nicht auf WinUI 3- oder Windows App SDK-Typen
- Enthält keine XAML-Dateien oder UI-bezogenen Code
- Muss für verschiedene Anwendungstypen freigegeben werden (nicht nur WinUI-Apps)
- Zielt auf mehrere Plattformen (z. B. .NET MAUI oder ASP.NET Core) oder Betriebssysteme (z. B. Linux oder macOS) ab.
Ein Lernprogramm zum Hinzufügen einer .NET-Klassenbibliothek zu Ihrer Lösung finden Sie unter Erweitern der C#-Konsolen-App und Debuggen in Visual Studio.
Verwenden Sie für dieses Lernprogramm die WinUI-Klassenbibliotheksvorlage , da sie es Ihnen ermöglicht, bei Bedarf in Zukunft auf WinUI-Typen zu verweisen, und sie ist speziell für die Integration in WinUI 3-Anwendungen konzipiert. Obwohl unsere ViewModels und Dienste derzeit keine WinUI-Typen erfordern, bietet die Verwendung dieser Vorlage Flexibilität und stellt eine ordnungsgemäße Integration in die Windows App SDK-Umgebung sicher.
Erstellen des WinUINotes.Bus-Projekts
Erstellen Sie ein neues WinUI-Klassenbibliotheksprojekt mit dem Namen WinUINotes.Bus, um Ihre ViewModels, Modelle und Dienste in derselben Lösung wie Ihr WinUI-App-Projekt zu speichern.
Klicken Sie in Visual Studio im Lösungs-Explorer mit der rechten Maustaste auf die Lösung.
Wählen Sie "Neues Projekt>" aus.
Wählen Sie die WinUI-Klassenbibliotheksvorlage und dann "Weiter" aus.
Hinweis
Stellen Sie sicher, dass Sie winUI-Klassenbibliothek und nicht nur Klassenbibliothek auswählen. Die WinUI-Klassenbibliotheksvorlage enthält Verweise auf das Windows App SDK und das WinUI 3-Framework.
Geben Sie dem Projekt den Namen
WinUINotes.Bus, und wählen Sie Erstellen aus.Löschen Sie die Standarddatei
Class1.cs.
Hinzufügen von Projektverweisen
Project-Verweise ermöglichen es Ihrem WinUI-App-Projekt, die im Klassenbibliotheksprojekt definierten ViewModels und Dienste zu verwenden:
- Klicken Sie mit der rechten Maustaste auf das WinUINotes-Projekt, und wählen Sie"Projektverweis>" aus.
- Überprüfen Sie das WinUINotes.Bus-Projekt , und wählen Sie "OK" aus.
Das Bus-Projekt enthält Ihre ViewModels, Modelle und Dienste, sodass Sie sie unabhängig von der UI-Ebene testen können.
Hinweis
Der Begriff "Bus" gibt ein Projekt an, das als Kommunikationsschicht oder Vermittler fungiert. Sie enthält die Präsentationslogik (ViewModels), Geschäftslogik (Modelle) und Dienste, die Sie unabhängig von der Benutzeroberfläche freigeben und testen können.
Windows developer