Поделиться через


Сопоставление функций UWP с пакетом SDK для приложений Windows

В этом разделе сравниваются основные области функций в разных формах, в которых они отображаются в UWP и в пакете SDK для приложений Windows. Содержимое в этом руководстве по миграции поддерживает переход с XAML UWP на XAML пакета SDK для приложений Windows— переход на другую платформу пользовательского интерфейса, например Windows Presentation Foundation (WPF), выходит за рамки этого руководства.

Функция UWP (Универсальная платформа Windows) Пакет SDK для приложений Windows (упакованные приложения) Примечания о переходе
Упаковка MSIX
Приложение имеет идентичность
MSIX
Приложение имеет идентификацию
Приложения UWP, перенесенные в пакет SDK для приложений Windows, должны оставаться в MSIX, чтобы обеспечить доверенный чистый интерфейс установки и удаления, а также доступ ко всем API, включая те, которые требуют удостоверения.
Контейнер Контейнер приложений:
- безопасность = LowIL
— доступ к файловой системе осуществляется через посредника
— нет доступа к реестру
Контейнер MSIX:
- безопасность = MediumIL
— доступ к файловой системе аналогичен правам пользователя, записи в AppData виртуализированы.
— виртуализированная запись реестра HKCU
Переход на более высокий уровень целостности с помощью пакета SDK для приложений Windows позволяет приложению иметь более высокую функциональность. Однако следует учитывать виртуализацию, если вы хотите расширить возможности перенесенного приложения для записи в HKCU или AppData.
Активация и инстанцирование Удостоверение пакета + активация CoreApplication, одноэлементная по умолчанию Идентификация пакета, активация через Main/WinMain и Windows App SDK, несколько экземпляров по умолчанию Убедитесь, что приложение может обрабатывать поведение нескольких экземпляров или использовать AppInstance для управления экземплярами.
Управление жизненным циклом Приостановка и возобновление Уведомления о питании и состоянии Уведомления об изменении состояния Power/State можно использовать для уменьшения системной нагрузки.
Фоновые задачи Фоновые задачи InProc и OOP Фоновые задачи Inproc COM и объектно-ориентированного программирования (ООП) Вы можете продолжать использовать фоновые задачи OOP. Если приложению требуется взаимодействие с основным процессом, оцените механизм IPC, так как фоновая задача OOP выполняется в LowIL, а основной процесс пакета SDK для приложений Windows выполняется в MediumIL.

Все внутрипроцессные фоновые задачи необходимо перенести в фоновые задачи COM — см. статью «Создание и регистрация фоновой задачи winmain COM».

Для выполнения фоновых задач C# OOP см. раздел "Создание компонентов среды выполнения Windows с помощью C#/WinRT" и пример фоновой задачи.
Окно CoreWindow, AppWindow (предварительная версия) HWND, AppWindow v2 Поведение окна значительно изменилось в пакете SDK для приложений Windows. См. Миграция функциональности оконного интерфейса.
Обмен сообщениями CoreDispatcher и DispatcherQueue DispatcherQueue, WndProc DispatcherQueue поддерживает приложения Win32. Дополнительные сведения о переходе из CoreDispatcher в DispatcherQueue см. в разделе Миграция функций потоков.
Платформа пользовательского интерфейса System XAML, WebView, DirectX и другие WinUI 3, Webview2, DirectX и другие Дополнительные сведения см. в статье о миграции WinUI.
Рендеринг текста DirectWrite DWriteCore Позволяет приложениям получить доступ к последним функциям DWrite на более ранних версиях и получать новые обновления DWrite отдельно от расписания выпуска ОС. Дополнительные сведения см. в разделе DirectWrite to DWriteCore migration.
Ресурсы MRT MRTCore Для получения дополнительной информации см. раздел MRT to MRTCore migration.
Среда выполнения .NET .NET Native / C# 7 .NET 6+/C# 9 Пакет SDK для приложений Windows предоставляет доступ к современной среде выполнения .NET и доступ к новым функциям языка. Однако компиляция .NET ReadyToRun не совпадает с .NET Native, поэтому следует оценить компромиссы производительности.
2D Графика Win2D Win2D для WinUI 3 В настоящее время мы работаем над версией Win2D, которая работает с пакетом SDK для приложений Windows. Дополнительные сведения см. в документации.
Компоненты среды выполнения Windows Шаблоны проектов компонентов Windows Runtime для UWP — C++: используйте шаблон проекта компонента среды выполнения Windows (WinUI 3).
— C#: используйте C#/WinRT для создания компонентов среды выполнения Windows в библиотеке классов .NET.
В настоящее время мы работаем над поддержкой создания компонентов среды выполнения Windows с помощью C#/WinRT для использования в пакете SDK для приложений Windows и WinUI 3.

См. также