Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе сравниваются основные области функций в разных формах, в которых они отображаются в 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 | Реализация фоновой задачи COM с полным доверием | Дополнительные сведения см. в статье "Стратегия миграции фоновых задач". |
| Окно | 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 (технология Microsoft для обработки текста) | 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. Дополнительные сведения см. в документации. |
| Веб-проверка подлинности | WebAuthenticationBroker | OAuth2Manager | Пакет SDK для приложений Windows предоставляет новый API для функций OAuth 2.0. Дополнительные сведения см. в статье "Реализация функций OAuth" в приложениях Windows . |
| Компоненты среды выполнения Windows | Шаблоны проектов компонентов Windows Runtime для UWP | — C++: используйте шаблон проекта компонента среды выполнения Windows (WinUI 3). — C#: используйте C#/WinRT для создания компонентов среды выполнения Windows в библиотеке классов .NET. |
В настоящее время мы работаем над поддержкой создания компонентов среды выполнения Windows с помощью C#/WinRT для использования в пакете SDK для приложений Windows и WinUI 3. |
См. также
Windows developer