Osztálykönyvtár projekt létrehozása

A ViewModel-ek és szolgáltatások egységtesztelésének lehetővé tétele érdekében hozzon létre egy külön osztálykönyvtár-projektet. Erre a projektre van szüksége, mert a WinUI 3 egységteszt projektek nem hivatkozhatnak közvetlenül a WinUI alkalmazásprojektekre.

A WinUI osztálykódtár sablonjának ismertetése

A WinUI osztálykódtár project sablon létrehoz egy .NET felügyelt osztálytárat (DLL), amelyet kifejezetten WinUI asztali alkalmazásokhoz terveztek. Ez a sablon a Windows App SDK része, és olyan fontos képességeket biztosít, amelyeket egy szabványos .NET osztálytár nem tartalmaz.

A .NET osztálytár főbb eltérései

A WinUI osztálykódtár sablonja számos fontos módon különbözik a standard .NET osztálykódtártól:

  • Windows-specifikus célzás: Windows-specifikus keretrendszert (például net8.0-windows10.0.19041.0) céloz meg a platformfüggetlen .NET keretrendszer helyett, amely access biztosít a Windows API-k számára.
  • Windows App SDK integráció: A Microsoft.WindowsAppSDK és Microsoft.Windows.SDK.BuildTools NuGet-csomagokra mutató hivatkozásokat tartalmaz, amelyek access biztosítanak a WinUI és Windows App SDK API-k számára.
  • WinUI-támogatás engedélyezve: A project <UseWinUI>true</UseWinUI> is szerepel a konfigurációjában, így WinUI-specifikus buildelési feladatokat és XAML-fordítást tesz lehetővé.
  • Windows runtime azonosítók: Windows-specifikus futtatókörnyezet-azonosítókhoz (win-x86, win-x64, win-arm64) van konfigurálva.

Miért érdemes WinUI-osztálykódtárat használni?

Használja a WinUI osztálytárat sablont normál .NET osztálytár helyett amikor a kódtárnak a következőre van szüksége:

  • Reference WinUI-típusok és -vezérlők: A WinUI-osztálykönyvtár sablon lehetővé teszi a Microsoft.UI.Xaml névtér és más Windows App SDK API-k típusok használatát a könyvtár kódjában.
  • XAML-erőforrások belefoglalása: Ha a tár UserControls, egyéni vezérlők vagy egyéb XAML-erőforrásokat tartalmaz, az erőforrások megfelelő fordításához és csomagolásához a WinUI osztálytár sablonra van szüksége.
  • Integrate with WinUI apps: A sablon úgy van konfigurálva, hogy zökkenőmentesen működjön a WinUI asztali alkalmazásokkal, biztosítva a kompatibilitást a Windows App SDK futtatókörnyezettel és az üzembe helyezési modellel.
  • XAML jelölésfordítás támogatása: A sablon tartalmazza az XAML fájlok fordításához és összeállításához szükséges feladatokat a könyvtárba.

Mikor érdemes rendszeres .NET osztálytárat használni?

Használjon egy standard .NET osztálykönyvtár projektet, amikor a könyvtárai:

  • Csak tiszta .NET kódot tartalmaz (ViewModels, modellek, szolgáltatások, segédprogramok)
  • Nem hivatkozik semmilyen WinUI- vagy Windows App SDK-típusra
  • Nem tartalmaz XAML-fájlokat vagy felhasználói felülettel kapcsolatos kódot
  • Különböző alkalmazástípusok (nem csak WinUI-alkalmazások) között kell megosztani
  • Több platformot (például .NET MAUI-t vagy ASP.NET Core) vagy operációs rendszert (például Linuxot vagy macOS-t) céloz meg

Az .NET keretrendszer osztálykönyvtár megoldáshoz való hozzáadásáról a Extend C# console app and debug in Visual Studio című oktatóanyagban olvashat.

Ebben az oktatóanyagban használja a WinUI osztálykódtár sablont, mert lehetővé teszi, hogy szükség esetén a jövőben WinUI-típusokra hivatkozzon, és kifejezetten a WinUI-alkalmazásokkal való integrálásra lett kialakítva. Bár a ViewModels és -szolgáltatások jelenleg nem igényelnek WinUI-típusokat, a sablon használata rugalmasságot biztosít, és biztosítja a Windows App SDK környezettel való megfelelő integrációt.

A WinUINotes.Bus project létrehozása

Hozzon létre egy új WinUI-osztálytárat project WinUINotes.Bus néven, hogy a ViewModels, a modellek és a szolgáltatások ugyanabban a megoldásban legyen tárolva, mint a WinUI-alkalmazás project.

  1. A(z) Visual Studioban kattintson jobb gombbal a projektmegoldásra a Solution Explorer felületén.

  2. Válassza a Add>New Project... .

  3. Válassza ki a WinUI-osztálytár sablont, és válassza a Tovább gombot.

    Megjegyzés:

    Győződjön meg arról, hogy a WinUI-osztálytárat választja, nem csak az osztálytárat. A WinUI osztálykódtár sablonja a Windows App SDK és a WinUI-keretrendszerre mutató hivatkozásokat tartalmaz.

  4. Nevezze el a project WinUINotes.Bus nevet, és válassza a Create lehetőséget.

  5. Törölje az alapértelmezett Class1.cs fájlt.

Project-hivatkozások hozzáadása

A projekt hivatkozások lehetővé teszik, hogy a WinUI-alkalmazás projekt használja az osztálytár projekt által definiált nézetmodelleket és szolgáltatásokat.

  1. Kattintson a jobb gombbal a WinUINotes projektre, és válassza a Hozzáadás>Projekt hivatkozás....
  2. Ellenőrizze a WinUINotes.Bus project és válassza a OK lehetőséget.

A Bus project a ViewModel-eket, modelleket és szolgáltatásokat tartalmazza, így a felhasználói felületi rétegtől függetlenül is tesztelheti őket.

Megjegyzés:

A "Bus" kifejezés egy kommunikációs rétegként vagy közvetítőként működő project jelöl. Tartalmazza a megjelenítési logikát (ViewModels), az üzleti logikát (modelleket), valamint a felhasználói felülettől függetlenül megosztható és tesztelhető szolgáltatásokat.