Udostępnij przez


Tworzenie projektu biblioteki klas

Aby włączyć testowanie jednostkowe modelu ViewModels i usług, utwórz oddzielny projekt biblioteki klas. Ten projekt jest potrzebny, ponieważ projekty testów jednostkowych WinUI nie mogą bezpośrednio odwoływać się do projektów aplikacji WinUI.

Opis szablonu biblioteki klas WinUI

Szablon projektu Biblioteka klas WinUI tworzy bibliotekę klas zarządzanych platformy .NET (DLL) specjalnie zaprojektowaną do użytku z aplikacjami klasycznymi WinUI 3. Ten szablon jest częścią zestawu SDK aplikacji systemu Windows i udostępnia ważne funkcje, które nie obejmują standardowej biblioteki klas platformy .NET.

Kluczowe różnice w bibliotece klas platformy .NET

Szablon biblioteki klas WinUI różni się od standardowej biblioteki klas platformy .NET na kilka ważnych sposobów:

  • Określanie elementów docelowych specyficznych dla systemu Windows: jest przeznaczona dla platformy specyficznej dla systemu Windows (na przykład net8.0-windows10.0.19041.0) zamiast międzyplatformowej platformy .NET, zapewniając dostęp do interfejsów API systemu Windows.
  • Integracja Windows App SDK: zawiera odwołania do Microsoft.WindowsAppSDK i Microsoft.Windows.SDK.BuildTools pakietów NuGet, zapewniając dostęp do interfejsów API WinUI 3 i Windows App SDK.
  • Włączono obsługę WinUI: Projekt zawiera <UseWinUI>true</UseWinUI> w swojej konfiguracji, umożliwiając realizację zadań budowania specyficznych dla WinUI oraz kompilację XAML.
  • Identyfikatory środowiska uruchomieniowego systemu Windows: są skonfigurowane dla identyfikatorów środowiska uruchomieniowego specyficznego dla systemu Windows (win-x86, win-x64, win-arm64).

Dlaczego warto używać biblioteki klas WinUI?

Użyj szablonu Biblioteka klas WinUI zamiast standardowej biblioteki klas platformy .NET , jeśli biblioteka musi:

  • Odwołania do typów i kontrolek WinUI 3: Szablon biblioteki klas WinUI pozwala na używanie typów z przestrzeni nazw Microsoft.UI.Xaml oraz innych interfejsów API Zestawu SDK aplikacji Windows w kodzie biblioteki.
  • Uwzględnij zasoby XAML: jeśli biblioteka zawiera kontrolki UserControls, kontrolki niestandardowe lub inne zasoby XAML, potrzebujesz szablonu Biblioteka klas WinUI, aby prawidłowo skompilować i spakować te zasoby.
  • Integracja z aplikacjami WinUI: szablon jest skonfigurowany do bezproblemowej pracy z aplikacjami klasycznymi WinUI 3, zapewniając zgodność ze środowiskiem uruchomieniowym zestawu SDK aplikacji systemu Windows i modelem wdrażania.
  • Obsługa kompilacji znaczników XAML: szablon zawiera niezbędne zadania kompilacji do kompilowania plików XAML do biblioteki.

Kiedy używać regularnej biblioteki klas platformy .NET

Użyj standardowego projektu biblioteki klas .NET, gdy twoja biblioteka:

  • Zawiera tylko czysty kod .NET (ViewModels, models, services, utilities)
  • Nie odwołuje się do żadnych typów zestawów SDK aplikacji WinUI 3 ani Windows
  • Nie zawiera żadnych plików XAML ani kodu związanego z interfejsem użytkownika
  • Musi być współużytkowany w różnych typach aplikacji (nie tylko aplikacje WinUI)
  • Dotyczy wielu platform (na przykład .NET MAUI lub ASP.NET Core) lub systemów operacyjnych (na przykład Linux lub macOS)

Aby zapoznać się z samouczkiem dotyczącym dodawania biblioteki klas platformy .NET do rozwiązania, zobacz Rozszerzanie aplikacji konsolowej języka C# i debugowanie w programie Visual Studio.

Na potrzeby tego samouczka użyj szablonu Biblioteka klas WinUI , ponieważ umożliwia odwołowanie się do typów WinUI w razie potrzeby w przyszłości i została ona specjalnie zaprojektowana do integracji z aplikacjami WinUI 3. Chociaż nasze modele widoków i usługi nie wymagają obecnie typów WinUI, użycie tego szablonu zapewnia elastyczność i zapewnia właściwą integrację ze środowiskiem zestawu SDK aplikacji systemu Windows.

Tworzenie projektu WinUINotes.Bus

Utwórz nowy projekt Biblioteki klas WinUI o nazwie WinUINotes.Bus, aby przechowywać ViewModel-e, modele i usługi w tym samym rozwiązaniu co projekt aplikacji WinUI.

  1. W programie Visual Studio kliknij rozwiązanie prawym przyciskiem myszy w Eksploratorze rozwiązań.

  2. Wybierz pozycję Dodaj>nowy projekt....

  3. Wybierz szablon Biblioteka klas WinUI i wybierz przycisk Dalej.

    Uwaga / Notatka

    Upewnij się, że wybrano pozycję Biblioteka klas WinUI, a nie tylko biblioteka klas. Szablon Biblioteka klas WinUI zawiera odwołania do zestawu SDK aplikacji systemu Windows i platformy WinUI 3.

  4. Nadaj projektowi nazwę WinUINotes.Bus i wybierz pozycję Utwórz.

  5. Usuń plik domyślny Class1.cs .

Dodawanie odwołań do projektu

Odwołania do projektu umożliwiają projektowi aplikacji WinUI używanie modelu ViewModels i usług zdefiniowanych w projekcie biblioteki klas:

  1. Kliknij prawym przyciskiem myszy projekt WinUINotes i wybierz polecenie Dodaj>odwołanie do projektu....
  2. Sprawdź projekt WinUINotes.Bus i wybierz przycisk OK.

Projekt Bus zawiera Twoje ViewModel, modele i usługi, dzięki czemu można je testować niezależnie od warstwy interfejsu użytkownika.

Uwaga / Notatka

Termin "Bus" wskazuje projekt, który działa jako warstwa komunikacji lub pośrednik. Zawiera on logikę prezentacji (ViewModels), logikę biznesową (modele) i usługi, które można udostępniać i testować niezależnie od interfejsu użytkownika.