Бөлісу құралы:


Создание проекта библиотеки классов

Чтобы включить модульное тестирование ваших ViewModel и служб, создайте отдельный проект библиотеки классов. Вам нужен этот проект, потому что проекты модульного тестирования WinUI 3 не могут напрямую ссылаться на проекты приложений WinUI.

Общие сведения о шаблоне библиотеки классов WinUI

Шаблон проекта Библиотеки классов WinUI создает управляемую библиотеку классов .NET (DLL), специально предназначенную для использования с настольными приложениями WinUI. Этот шаблон является частью Windows App SDK и предоставляет важные возможности, которые не включают стандартную библиотеку классов .NET.

Основные отличия от библиотеки классов .NET

Шаблон библиотеки классов WinUI отличается от стандартной библиотеки классов .NET несколькими важными способами:

  • Ориентация на Windows: Она ориентирована на платформу, специфичную для Windows (например, net8.0-windows10.0.19041.0), а не на кроссплатформенную платформу .NET, предоставляя доступ к API Windows.
  • интеграция Windows App SDK: содержит ссылки на пакеты NuGet Microsoft.WindowsAppSDK и Microsoft.Windows.SDK.BuildTools, обеспечивая доступ к API WinUI и API Windows App SDK.
  • включена поддержка WinUI: Этот проект включает <UseWinUI>true</UseWinUI> в конфигурацию, что позволяет выполнять задачи сборки и компиляцию XAML, специфичных для WinUI.
  • Windows Runtime идентификаторы: настроено для Windows-специфических идентификаторов среды выполнения (win-x86, win-x64, win-arm64).

Зачем использовать библиотеку классов WinUI?

Используйте шаблон класса WinUI вместо обычной библиотеки классов .NET, если библиотека должна:

  • Типы и элементы управления WinUI: Шаблон библиотеки классов WinUI позволяет использовать типы из пространства имен Microsoft.UI.Xaml и других API Windows App SDK в коде вашей библиотеки.
  • Включите ресурсы XAML: если библиотека содержит UserControls, пользовательские элементы управления или другие ресурсы XAML, вам потребуется шаблон библиотеки классов WinUI для правильной компиляции и упаковки этих ресурсов.
  • Интеграция с приложениями WinUI: шаблон настроен для эффективной работы с настольными приложениями WinUI, обеспечивая совместимость с моделью среды выполнения и развертывания Windows App SDK.
  • Поддержка компиляции разметки XAML: шаблон включает необходимые задачи сборки для компиляции XAML-файлов в библиотеку.

Когда следует использовать обычную библиотеку классов .NET

Используйте стандартный проект библиотеки классов .NET в случае, если ваша библиотека:

  • Содержит только чистый код .NET (ViewModels, модели, службы, служебные программы)
  • Не ссылается ни на какие типы WinUI или Windows App SDK
  • Не включает в себя код XAML или код, связанный с пользовательским интерфейсом
  • Необходимо совместно использовать разные типы приложений (а не только приложения WinUI)
  • Предназначено для нескольких платформ (например, .NET MAUI или ASP.NET Core) или операционных систем (например, Linux или macOS)

Руководство по добавлению библиотеки классов .NET в решение см. в консольном приложении Extend C# и отладке в Visual Studio.

В этом руководстве используйте шаблон библиотеки классов WinUI , так как он позволяет ссылаться на типы WinUI, если это необходимо в будущем, и оно специально предназначено для интеграции с приложениями WinUI. Хотя наши ViewModel и службы в настоящее время не требуют типов WinUI, использование этого шаблона обеспечивает гибкость и гарантирует правильную интеграцию со средой Windows App SDK.

Создайте проект WinUINotes.Bus

Создайте новый проект библиотеки классов WinUI с именем WinUINotes.Bus для хранения ViewModels, моделей и служб в том же решении, что и проект приложения WinUI.

  1. В Visual Studio щелкните правой кнопкой мыши решение в Solution Explorer.

  2. Выберите Add>New Project... .

  3. Выберите шаблон библиотеки классов WinUI и нажмите кнопку "Далее".

    Замечание

    Убедитесь, что выбрана библиотека классов WinUI, а не только библиотека классов. Шаблон библиотеки классов WinUI содержит ссылки на платформу Windows App SDK и WinUI.

  4. Назовите project WinUINotes.Bus и выберите Create.

  5. Удалите файл по умолчанию Class1.cs .

Добавить ссылки на проект

Ссылки на проект позволяют приложению WinUI использовать ViewModels и службы, определенные в библиотеке классов.

  1. Щелкните правой кнопкой мыши проект WinUINotes и выберите Добавить>Ссылка на проект....
  2. Проверьте WinUINotes.Bus project и выберите OK.

Проект Bus содержит ваши модели представления, модели и службы, так что вы можете тестировать их независимо от слоя пользовательского интерфейса.

Замечание

Термин "Шина" указывает на проект, который выступает в качестве уровня связи или посредника. Он содержит логику презентации (ViewModels), бизнес-логику (модели) и службы, которые можно совместно использовать и тестировать независимо от пользовательского интерфейса.