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

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

Функция UWP Пакет SDK для приложений Windows (упакованные приложения) Примечания о переходе
Упаковка MSIX
Приложение имеет удостоверение
MSIX
Приложение имеет удостоверение
Приложения UWP, перенесенные в пакет SDK для приложений Windows, должны оставаться в MSIX, чтобы обеспечить доверенный чистый интерфейс установки и удаления, а также доступ ко всем API, включая те, которые требуют удостоверения.
Контейнер Контейнер приложений:
- security = LowIL
— доступ к файловой системе является брокером
— нет доступа к реестру
Контейнер MSIX:
- security = MediumIL
— доступ к файловой системе, аналогичный пользователю, AppData записывает виртуализированную
— реестр HKCU записывает виртуализированную
Переход на более высокий уровень целостности с помощью пакета SDK для приложений Windows позволяет приложению иметь более высокую функциональность. Однако следует учитывать виртуализацию, если вы хотите расширить возможности перенесенного приложения для записи в HKCU или AppData.
Активация и включение Удостоверение пакета + активация CoreApplication, одноэлементная по умолчанию Удостоверение пакета, активация пакета Main/WinMain + пакет SDK для приложений Windows, много экземпляры по умолчанию Убедитесь, что приложение может обрабатывать поведение нескольких экземпляров или использовать AppInstance для управления экземплярами.
Управляемый жизненным циклом Приостановка и возобновление Уведомления о power/State Уведомления об изменении состояния Power/State можно использовать для уменьшения системной нагрузки.
Фоновые задачи Фоновые задачи InProc и OOP Фоновые задачи COM и OOP Вы можете продолжать использовать фоновые задачи 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 и другие Дополнительные сведения см. в статье о миграции библиотеки пользовательского интерфейса Windows (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 для UWP — C++: используйте шаблон проекта среда выполнения Windows (WinUI 3).
— C#: используйте C#/WinRT для создания компонентов среда выполнения Windows в библиотеке классов .NET.
В настоящее время мы работаем над поддержкой создания компонентов среда выполнения Windows с помощью C#/WinRT для использования в пакете SDK приложений Windows и WinUI 3.