Sdílet prostřednictvím


Vytvořte projekt knihovny tříd

Pokud chcete povolit testování jednotek modelů a služeb ViewModels, vytvořte samostatný projekt knihovny tříd. Tento projekt potřebujete, protože projekty testů jednotek WinUI nemůžou přímo odkazovat na projekty aplikace WinUI.

Porozumění šabloně knihovny tříd WinUI

Šablona projektu Knihovny tříd WinUI vytvoří knihovnu spravovaných tříd .NET (DLL) speciálně určenou pro použití s desktopovými aplikacemi WinUI 3. Tato šablona je součástí sady Windows App SDK a poskytuje důležité funkce, které standardní knihovna tříd .NET nezahrnuje.

Klíčové rozdíly od knihovny tříd .NET

Šablona knihovny tříd WinUI se liší od standardní knihovny tříd .NET několika důležitými způsoby:

  • Cílení specifické pro Windows: Cílí na architekturu specifickou pro Windows (například net8.0-windows10.0.19041.0) místo rozhraní .NET framework pro různé platformy a poskytuje přístup k rozhraním API systému Windows.
  • Integrace sady Windows App SDK: Zahrnuje odkazy na Microsoft.WindowsAppSDK balíčky NuGet Microsoft.Windows.SDK.BuildTools , které poskytují přístup k rozhraním API sady WinUI 3 a Windows App SDK.
  • Podpora WinUI je povolená: Projekt zahrnuje <UseWinUI>true</UseWinUI> svou konfiguraci a umožňuje úlohy sestavení specifické pro WinUI a kompilaci XAML.
  • Identifikátory modulu runtime systému Windows: Je nakonfigurované pro identifikátory modulu runtime specifické pro Windows (win-x86, win-x64, win-arm64).

Proč používat knihovnu tříd WinUI?

Šablonu knihovny tříd WinUI použijte místo běžné knihovny tříd .NET , pokud vaše knihovna potřebuje:

  • Referenční typy a ovládací prvky WinUI 3: Šablona knihovny tříd WinUI umožňuje používat typy z Microsoft.UI.Xaml oboru názvů a dalších rozhraní API sady Windows App SDK v kódu knihovny.
  • Zahrnout prostředky XAML: Pokud vaše knihovna obsahuje UserControls, vlastní ovládací prvky nebo jiné prostředky XAML, potřebujete šablonu knihovny tříd WinUI ke správnému kompilaci a zabalení těchto prostředků.
  • Integrace s aplikacemi WinUI: Šablona je nakonfigurovaná tak, aby bezproblémově fungovala s desktopovými aplikacemi WinUI 3 a zajistila kompatibilitu s modulem runtime sady Windows App SDK a modelem nasazení.
  • Podpora kompilace značek XAML: Šablona obsahuje nezbytné úlohy sestavení pro kompilaci souborů XAML do knihovny.

Kdy použít běžnou knihovnu tříd .NET

Pokud máte knihovnu, použijte standardní projekt knihovny tříd .NET :

  • Obsahuje pouze čistý kód .NET (ViewModels, models, services, utilities).
  • Neodkazuje na žádné typy WinUI 3 ani sady Windows App SDK.
  • Neobsahuje žádné soubory XAML ani kód související s uživatelským rozhraním.
  • Je potřeba sdílet různé typy aplikací (nejen aplikace WinUI).
  • Cílí na více platforem (například .NET MAUI nebo ASP.NET Core) nebo operačních systémů (například Linux nebo macOS).

Kurz přidání knihovny tříd .NET do řešení najdete v tématu Rozšíření konzolové aplikace jazyka C# a ladění v sadě Visual Studio.

V tomto kurzu použijte šablonu knihovny tříd WinUI , protože v případě potřeby můžete odkazovat na typy WinUI v budoucnu a je speciálně navržená pro integraci s aplikacemi WinUI 3. I když naše modely ViewModel a služby v současné době nevyžadují typy WinUI, použití této šablony poskytuje flexibilitu a zajišťuje správnou integraci s prostředím Windows App SDK.

Vytvoření projektu WinUINotes.Bus

Vytvořte nový projekt knihovnu tříd WinUI s názvem WinUINotes.Bus pro uložení vašich ViewModelů, modelů a služeb ve stejné řešení jako váš projekt aplikace WinUI.

  1. V sadě Visual Studio klikněte pravým tlačítkem na řešení v Průzkumníku řešení.

  2. Vyberte Přidat>nový projekt....

  3. Zvolte šablonu WinUI Class Library a vyberte Další.

    Poznámka:

    Ujistěte se, že jste vybrali WinUI knihovnu tříd, nejen knihovnu tříd. Šablona knihovny tříd WinUI obsahuje odkazy na architekturu Windows App SDK a WinUI 3.

  4. Pojmenujte projekt WinUINotes.Bus a vyberte Vytvořit.

  5. Odstraňte výchozí Class1.cs soubor.

Přidání odkazů na projekt

Odkazy na projekty umožňují projektu aplikace WinUI používat modely ViewModel a služby definované v projektu knihovny tříd:

  1. Klikněte pravým tlačítkem myši na projekt WinUINotes a vyberte Přidat>odkaz na projekt....
  2. Zkontrolujte projekt WinUINotes.Bus a vyberte OK.

Projekt Bus obsahuje ViewModely, modely a služby, takže je můžete testovat nezávisle na vrstvě uživatelského rozhraní.

Poznámka:

Termín "Sběrnice" označuje projekt, který funguje jako komunikační vrstva nebo prostředník. Obsahuje logiku prezentace (ViewModels), obchodní logiku (modely) a služby, které můžete sdílet a testovat nezávisle na uživatelském rozhraní.