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


Миграция из UWP в Windows App SDK

Чтобы перенести приложение из универсальная платформа Windows (UWP) в Windows App SDK, код пользовательского интерфейса, скорее всего, нуждается в нескольких изменениях пространства имен, в то время как большая часть кода платформы может оставаться одинаковой. Вам потребуется изменить код из-за различий между приложениями UWP и классическими приложениями. Но мы ожидаем, что для большинства приложений (в зависимости от размера базы кода, конечно же), на миграцию потребуется несколько дней, а не недель.

Примечание.

Существующее приложение UWP продолжит функционировать должным образом. Однако для использования современных функций в WinUI 3 и Windows App SDK рекомендуем перенести приложение.

Ниже приведены шаги в общих чертах для ручной миграции. Но дополнительные сведения об использовании средства помощника по обновлению .NET см. в следующем разделе).

  1. Создайте пакетный проект для настольной версии WinUI (см. Создайте свой первый проект на WinUI). Это можно интегрировать в существующее решение вашего проекта.
  2. Скопируйте код XAML/UI. Во многих случаях можно просто изменить пространства имен (например, Windows. UI.* в Майкрософт. UI.*).
  3. Скопируйте код логики вашего приложения. Для некоторых API потребуются изменения, например для Popup, Pickerов и SecondaryTileов.

Полные сведения см. в разделах, приведенных в таблице ниже. Они описывают и демонстрируют, как вручную перенести приложение Universal Windows Platform (UWP) в Windows App SDK.

Особое внимание обратите на «Поддерживаемые функции при переходе с UWP на WinUI», где описываются функции, которые еще не поддерживаются в WinUI и Windows App SDK. Если вашему приложению требуется любой из этих функций и библиотек, вам может потребоваться отложить миграцию.

Примечание.

Если исходный код приложения UWP написан в C++/CX, см. также раздел "Переход на C++/WinRT" из C++/CX.

Перенос с помощью средства помощника по обновлению .NET

В качестве дальнейшего шага, помогающего перенести приложения UWP в Windows App SDK и WinUI, мы использовали помощник по обновлению .NET, добавив поддержку миграции приложений UWP на C#. Поддержка UWP автоматизирует большую часть процесса миграции. Дополнительные сведения см. в теме Перенос из UWP в Windows App SDK с помощником обновления .NET.

Преимущества контейнеризации

При переходе на Windows App SDK приложения UWP могут потерять преимущества изначальной контейнеризации исходной платформы. Однако эти преимущества можно восстановить с помощью изоляции приложений Win32 — новой функции безопасности, которая повышает защиту путем изоляции приложений в среде песочницы. Этот подход обеспечивает дополнительную безопасность от потенциальных угроз с минимальными изменениями существующего кода. Дополнительные сведения и начало работы с изоляцией приложений Win32 см. в обзоре изоляции приложений Win32.

Темы в этом разделе

Тема Описание
Общая стратегия миграции Рекомендации и стратегии по подходу к процессу миграции, а также по настройке среды разработки для миграции.
Сопоставление возможностей UWP с Windows App SDK В этом разделе сравниваются основные области функций в разных формах, в которых они отображаются в UWP и в Windows App SDK.
Поддерживаемые возможности Узнайте, какие функции в настоящее время доступны в WinUI Desktop, чтобы оценить, следует ли сегодня пытаться перенести приложение UWP.
Сопоставление API и библиотек UWP с Windows App SDK В этом разделе представлено сопоставление API-интерфейсов и библиотек UWP с их Windows App SDK эквивалентами.
Руководства по области функций Коллекция разделов руководства по миграции, каждая из которых посвящена определенной области функций.
Пример 1— PhotoLab (C#) В этом разделе представлено исследование случая по взятию примера приложения UWP PhotoLab на C# и его переносу в Windows App SDK.
Пример 2. Редактор фотографий (C++/WinRT) В этом разделе описывается пример приложения C++/WinRT UWP Photo Editor и перенос его в Windows App SDK.
Дополнительные рекомендации по миграции В этом разделе содержатся дополнительные рекомендации по миграции, не отнесенные к какой-либо области функций в руководствах по областям функций feature area guides.
Переходите с UWP на Windows App SDK с помощью инструмента обновления .NET Upgrade Assistant Помощник по обновлению .NET — это средство командной строки, которое может помочь при переносе приложения UWP на WinUI, использующее Windows App SDK.
Использование ИИ для модернизации приложения Как использовать GitHub Copilot для ускорения модернизации существующего классического приложения до Windows App SDK и WinUI 3.

См. также