Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Чтобы включить модульное тестирование ваших 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.
В Visual Studio щелкните правой кнопкой мыши решение в Solution Explorer.
Выберите Add>New Project... .
Выберите шаблон библиотеки классов WinUI и нажмите кнопку "Далее".
Замечание
Убедитесь, что выбрана библиотека классов WinUI, а не только библиотека классов. Шаблон библиотеки классов WinUI содержит ссылки на платформу Windows App SDK и WinUI.
Назовите project
WinUINotes.Busи выберите Create.Удалите файл по умолчанию
Class1.cs.
Добавить ссылки на проект
Ссылки на проект позволяют приложению WinUI использовать ViewModels и службы, определенные в библиотеке классов.
- Щелкните правой кнопкой мыши проект WinUINotes и выберите Добавить>Ссылка на проект....
- Проверьте WinUINotes.Bus project и выберите OK.
Проект Bus содержит ваши модели представления, модели и службы, так что вы можете тестировать их независимо от слоя пользовательского интерфейса.
Замечание
Термин "Шина" указывает на проект, который выступает в качестве уровня связи или посредника. Он содержит логику презентации (ViewModels), бизнес-логику (модели) и службы, которые можно совместно использовать и тестировать независимо от пользовательского интерфейса.
Windows developer