Sınıf kitaplığı projesi oluşturma

ViewModel ve hizmetleriniz için birim testi yapabilmek amacıyla ayrı bir sınıf kitaplığı projesi oluşturun. Bu projeye ihtiyacınız var çünkü WinUI 3 birim test projeleri, WinUI uygulama projelerine doğrudan referans veremez.

WinUI Sınıf Kitaplığı şablonunu anlama

WinUI Sınıf Kitaplığı project şablonu, WinUI masaüstü uygulamalarıyla kullanılmak üzere özel olarak tasarlanmış bir .NET yönetilen sınıf kitaplığı (DLL) oluşturur. Bu şablon Windows App SDK bir parçasıdır ve standart bir .NET sınıf kitaplığının içermediği önemli özellikler sağlar.

.NET Sınıf Kitaplığı'ndan önemli farklar

WinUI Sınıf Kitaplığı şablonu, standart bir .NET Sınıf Kitaplığı'ndan çeşitli önemli yollarla farklıdır:

  • Windows'a özgü hedefleme: Platformlar arası .NET çerçevesi yerine Windows'a özgü bir çerçeveyi (net8.0-windows10.0.19041.0 gibi) hedefleyerek Windows API'lerine access sağlar.
  • Windows App SDK tümleştirme: WinUI ve Windows App SDK API'lerine access sağlayan Microsoft.WindowsAppSDK ve Microsoft.Windows.SDK.BuildTools NuGet paketlerine başvurular içerir.
  • WinUI desteği etkin: project yapılandırmasında <UseWinUI>true</UseWinUI> içerir ve WinUI'ye özgü derleme görevleri ve XAML derlemesini etkinleştirir.
  • Windows runtime tanımlayıcıları: Windows'a özgü çalışma zamanı tanımlayıcıları (win-x86, win-x64, win-arm64) için yapılandırılır.

Neden WinUI Sınıf Kitaplığı kullanmalısınız?

Kitaplığınızın aşağıdakileri yapması gerektiğinde normal .NET Sınıf Kitaplığı yerine WinUI Sınıf Kitaplığı şablonunu kullanın:

  • Başvuru WinUI türleri ve denetimleri: WinUI Sınıf Kitaplığı şablonu, kitaplık kodunuzda Microsoft.UI.Xaml ad alanından ve diğer Windows App SDK API'lerinden türleri kullanmanıza olanak tanır.
  • XAML kaynaklarını dahil etme: Kitaplığınız UserControls, özel denetimler veya diğer XAML kaynaklarını içeriyorsa, bu kaynakları düzgün bir şekilde derleyip paketlemek için WinUI Sınıf Kitaplığı şablonuna ihtiyacınız vardır.
  • winUI uygulamalarıyla Integrate: Şablon, Windows App SDK çalışma zamanı ve dağıtım modeliyle uyumluluk sağlamak için WinUI masaüstü uygulamalarıyla sorunsuz çalışacak şekilde yapılandırılır.
  • XAML işaretleme derlemesini destekleme: Şablon, XAML dosyalarını kitaplığa derlemek için gerekli derleme görevlerini içerir.

Normal bir .NET Sınıf Kitaplığı ne zaman kullanılır?

Standart bir .NET Sınıf Kitaplığı projesi kullanın:

  • Yalnızca saf .NET kodu içerir (ViewModel'ler, modeller, hizmetler, yardımcı programlar)
  • WinUI veya Windows App SDK türlerine başvurmaz
  • XAML dosyası veya kullanıcı arabirimiyle ilgili kod içermez
  • Farklı uygulama türleri arasında paylaşılması gerekir (yalnızca WinUI uygulamaları arasında değil)
  • Birden çok platformu (örneğin, MAUI veya ASP.NET Core .NET) veya işletim sistemlerini (örneğin, Linux veya macOS) hedefler

Çözümünüzde .NET Sınıf Kitaplığı ekleme öğreticisi için bkz. Extend C# konsol uygulaması ve Visual Studio içinde hata ayıklama.

Bu öğretici için WinUI Sınıf Kitaplığı şablonunu kullanın çünkü gelecekte gerekirse WinUI türlerine başvurmanıza olanak tanır ve Özellikle WinUI uygulamalarıyla tümleştirmek için tasarlanmıştır. ViewModel'lerimiz ve hizmetlerimiz şu anda WinUI türleri gerektirmese de, bu şablonu kullanmak esneklik sağlar ve Windows App SDK ortamıyla düzgün tümleştirme sağlar.

WinUINotes.Bus projesini oluşturun

ViewModel'lerinizin, modellerinizin ve hizmetlerinizin WinUI uygulamanızın projesi ile aynı çözümde yer alması için WinUINotes.Bus adlı yeni bir WinUI Sınıf Kitaplığı projesi oluşturun.

  1. Visual Studio'da Solution Explorer'da çözüme sağ tıklayın.

  2. Ekle>Yeni Proje... öğesini seçin.

  3. WinUI Sınıf Kitaplığı şablonunu seçin ve İleri'yi seçin.

    Uyarı

    Yalnızca Sınıf Kitaplığı'nı değil, WinUI Sınıf Kitaplığı'nı seçtiğinizden emin olun. WinUI Sınıf Kitaplığı şablonu, Windows App SDK ve WinUI çerçevesine başvurular içerir.

  4. project WinUINotes.Bus adlandırın ve Create öğesini seçin.

  5. Varsayılan Class1.cs dosyayı silin.

Proje referansları ekleme

Proje başvuruları, WinUI uygulama projenizin sınıf kitaplığı projesinde tanımlanan ViewModel'leri ve servisleri kullanmasını sağlar.

  1. WinUINotes project öğesine sağ tıklayın ve Add>Project Başvurusu... öğesini seçin. .
  2. WinUINotes.Bus project öğesini denetleyin ve OK öğesini seçin.

Bus project ViewModel'lerinizi, modellerinizi ve hizmetlerinizi içerir, böylece bunları kullanıcı arabirimi katmanından bağımsız olarak test edebilirsiniz.

Uyarı

"Bus" terimi, iletişim katmanı veya aracı görevi gören bir project belirtir. Sunum mantığını (ViewModels), iş mantığını (modeller) ve hizmetleri, kullanıcı arabiriminden bağımsız olarak paylaşabileceğiniz ve test edebileceğiniz şekilde içerir.