Bagikan melalui


Membuat proyek pustaka kelas

Untuk memungkinkan pengujian unit dari ViewModels dan layanan Anda, buat proyek pustaka kelas yang terpisah. Anda memerlukan proyek ini karena proyek pengujian unit WinUI tidak dapat langsung mereferensikan proyek aplikasi WinUI.

Memahami templat Pustaka Kelas WinUI

Templat proyek Pustaka Kelas WinUI membuat pustaka kelas terkelola .NET (DLL) yang dirancang khusus untuk digunakan dengan aplikasi desktop WinUI 3. Templat ini adalah bagian dari Windows App SDK dan menyediakan kemampuan penting yang tidak disertakan pustaka kelas .NET standar.

Perbedaan utama dari Pustaka Kelas .NET

Templat Pustaka Kelas WinUI berbeda dari Pustaka Kelas .NET standar dengan beberapa cara penting:

  • Penargetan khusus Windows: Ini menargetkan kerangka kerja khusus Windows (seperti net8.0-windows10.0.19041.0) daripada kerangka kerja .NET lintas platform, memberikan akses ke API Windows.
  • Integrasi Windows App SDK: Ini mencakup referensi ke paket Microsoft.WindowsAppSDK dan Microsoft.Windows.SDK.BuildTools NuGet, menyediakan akses ke API WinUI 3 dan Windows App SDK.
  • Dukungan WinUI diaktifkan: Proyek ini termasuk <UseWinUI>true</UseWinUI> dalam konfigurasinya, memungkinkan tugas build khusus WinUI dan kompilasi XAML.
  • Pengidentifikasi runtime Windows: Telah dikonfigurasi untuk pengidentifikasi runtime khusus Windows (win-x86, win-x64, win-arm64).

Mengapa menggunakan Pustaka Kelas WinUI?

Gunakan templat Pustaka Kelas WinUI daripada Pustaka Kelas .NET reguler saat pustaka Anda perlu:

  • Referensi Tipe dan Kontrol WinUI 3: Template Pustaka Kelas WinUI memungkinkan Anda menggunakan tipe dari namespace Microsoft.UI.Xaml dan API SDK Aplikasi Windows lainnya di kode pustaka Anda.
  • Sertakan sumber daya XAML: Jika pustaka Anda berisi UserControls, kontrol kustom, atau sumber daya XAML lainnya, Anda memerlukan templat Pustaka Kelas WinUI untuk mengkompilasi dan mengemas sumber daya ini dengan benar.
  • Integrasikan dengan aplikasi WinUI: Templat dikonfigurasi untuk bekerja dengan mulus dengan aplikasi desktop WinUI 3, memastikan kompatibilitas dengan runtime dan model penyebaran Windows App SDK.
  • Mendukung kompilasi markup XAML: Templat menyertakan tugas build yang diperlukan untuk mengkompilasi file XAML ke pustaka.

Kapan menggunakan Pustaka Kelas .NET standar

Gunakan proyek .NET Class Library standar ketika pustaka tersebut:

  • Hanya berisi kode .NET murni (ViewModels, model, layanan, utilitas)
  • Tidak mereferensikan jenis WinUI 3 atau Windows App SDK
  • Tidak menyertakan file XAML atau kode terkait UI
  • Perlu dibagikan di berbagai jenis aplikasi (bukan hanya aplikasi WinUI)
  • Menargetkan beberapa platform (misalnya, .NET MAUI atau ASP.NET Core) atau sistem operasi (misalnya, Linux atau macOS)

Untuk tutorial tentang menambahkan Pustaka Kelas .NET ke solusi Anda, lihat Memperluas aplikasi konsol C# dan men-debug di Visual Studio.

Untuk tutorial ini, gunakan templat Pustaka Kelas WinUI karena memungkinkan Anda untuk mereferensikan jenis WinUI jika diperlukan di masa depan, dan dirancang khusus untuk diintegrasikan dengan aplikasi WinUI 3. Meskipun ViewModels dan layanan kami saat ini tidak memerlukan jenis WinUI, menggunakan templat ini memberikan fleksibilitas dan memastikan integrasi yang tepat dengan lingkungan Windows App SDK.

Membuat proyek WinUINotes.Bus

Buat proyek Pustaka Kelas WinUI baru bernama WinUINotes.Bus untuk menyimpan ViewModel, model, dan layanan Anda dalam solusi yang sama dengan proyek aplikasi WinUI Anda.

  1. Di Visual Studio, klik kanan solusi di Penjelajah Solusi.

  2. Pilih Tambahkan>Proyek Baru....

  3. Pilih templat Pustaka Kelas WinUI dan pilih Berikutnya.

    Nota

    Pastikan Anda memilih Pustaka Kelas WinUI, bukan hanya Pustaka Kelas. Templat Pustaka Kelas WinUI menyertakan referensi ke kerangka kerja Windows App SDK dan WinUI 3.

  4. Beri nama WinUINotes.Bus proyek dan pilih Buat.

  5. Hapus file default Class1.cs .

Menambahkan referensi proyek

Referensi proyek memungkinkan proyek aplikasi WinUI Anda menggunakan ViewModels dan layanan yang ditentukan dalam proyek pustaka kelas:

  1. Klik kanan proyek WinUINotes dan pilih Tambahkan>Referensi Proyek....
  2. Periksa proyek WinUINotes.Bus dan pilih OK.

Proyek Bus berisi ViewModels, model, dan layanan Anda, sehingga Anda dapat mengujinya secara independen dari lapisan UI.

Nota

Istilah "Bus" menunjukkan proyek yang bertindak sebagai lapisan komunikasi atau perantara. Ini berisi logika presentasi (ViewModels), logika bisnis (model), dan layanan yang dapat Anda bagikan dan uji secara independen dari UI.