Vytvoření knihovny tříd projekt

Pokud chcete povolit jednotkové testování vašich ViewModels a služeb, vytvořte samostatný projekt knihovny tříd. Tento project potřebujete, protože projekty testů jednotek WinUI 3 nemůžou přímo odkazovat na projekty aplikací WinUI.

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

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

Hlavní rozdíly v knihovně 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é proWindows: Cílí na architekturu specifickou pro Windows (například net8.0-windows10.0.19041.0) místo architektury .NET pro různé platformy a poskytuje access rozhraním API systému Windows.
  • integrace Windows App SDK: Zahrnuje odkazy na balíčky Microsoft.WindowsAppSDK a Microsoft.Windows.SDK.BuildTools NuGet, které poskytují přístup k rozhraním API WinUI a Windows App SDK.
  • Podpora WinUI povolena: Projekt zahrnuje <UseWinUI>true</UseWinUI> ve své konfiguraci, což umožňuje úkoly sestavení specifické pro WinUI a kompilaci XAML.
  • Windows runtime identifikátory: Jsou nakonfigurovány pro identifikátory modulu runtime specifické pro Windows (win-x86, win-x64, win-arm64).

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

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

  • Odkazy na typy a ovládací prvky WinUI: Šablona knihovny tříd WinUI umožňuje používat typy z jmenného prostoru Microsoft.UI.Xaml a další Windows App SDK rozhraní API ve vašem knihovním kódu.
  • 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 bez problémů fungovala s desktopovými aplikacemi WinUI a zajišťuje kompatibilitu s modulem runtime 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

V knihovně použijte standardní knihovnu tříd .NET project:

  • Obsahuje pouze čistý .NET kód (ViewModels, models, services, utilities).
  • Neodkazuje na žádné typy WinUI ani 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 vašeho řešení najdete v tématu Extend konzolové aplikace jazyka C# a ladění v Visual Studio.

Pro účely tohoto kurzu použijte šablonu knihovny tříd WinUI , protože umožňuje odkazovat na typy WinUI v případě potřeby v budoucnu a je speciálně navržená pro integraci s aplikacemi WinUI. 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í project WinUINotes.Bus

Vytvořte nový projekt knihovny tříd WinUI s názvem WinUINotes.Bus, který bude obsahovat vaše ViewModely, modely a služby ve stejném řešení jako váš projekt aplikace WinUI.

  1. V Visual Studio klikněte pravým tlačítkem na řešení v Solution Explorer.

  2. Vyberte Přidat>Nový Project... .

  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 Windows App SDK a architekturu WinUI.

  4. Pojmenujte project WinUINotes.Bus a vyberte Create.

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

Přidejte odkazy na projekt

Odkazy na projekt umožňují vašemu projektu aplikace WinUI používat objekty ViewModels a služby definované v projektu knihovny tříd.

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

Projekt Bus obsahuje vaše ViewModely, modely a služby, abyste je mohli testovat nezávisle na vrstvě uživatelského rozhraní.

Poznámka:

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