Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если у вас есть существующее приложение Windows — проект UWP, классическое приложение WPF или WinForms или кроссплатформенное приложение Electron или Flutter, GitHub Copilot может значительно ускорить процесс его обновления для современных Windows. В этой статье показаны ключевые сценарии и инструменты, которые делают их практическими.
Перед началом работы
Убедитесь, что у вас настроены ключевые средства:
- GitHub Copilot с подключаемым модулем разработки WinUI 3 — обрабатывает рекомендации по миграции API и создает правильный современный код.
- Майкрософт Learn MCP Server — предоставляет Copilot доступ к текущей документации по Windows App SDK
- winapp CLI — добавляет удостоверение пакета и пакетирование Windows в любой фреймворк.
Если вы еще не настроили эти параметры, начните с Set up GitHub Copilot for Windows development.
Перенос приложения UWP в WinUI 3
WinUI 3 является современным преемником уровня пользовательского интерфейса UWP. API похожи, но не идентичны — пространства имен перемещены, некоторые элементы управления изменились, а модель приложения отличается. Навык руководства по миграции WinUI 3 делает это возможно.
Запуск руководства по миграции
В Copilot Chat запустите навык руководства по миграции:
/winui3-development:winui3-migration-guide
Это создает структурированный план миграции, адаптированный к проекту, в том числе:
- Контрольный список изменений файла проекта и манифеста
- Таблица сопоставлений пространства имен API (например,
Windows.UI.Xaml→Майкрософт.UI.Xaml) - Распространенные подстановки элементов управления и примеры кода до и после
- Различия в упаковке и развертывании
Перенос файла
Откройте исходный файл UWP и попросите Copilot перенести его:
"Перенос этого файла из UWP в WinUI 3. Замените все устаревшие API UWP эквивалентами WinUI 3. Помечает все, что требуется ручной проверки".
Инструкции по настройке подключаемого модуля WinUI 3 позволяют Copilot делать правильные замены. К общим относятся:
| UWP (Универсальная платформа Windows) | WinUI 3 |
|---|---|
Windows.UI.Xaml.* |
Microsoft.UI.Xaml.* |
CoreDispatcher / RunAsync |
DispatcherQueue / TryEnqueue |
MessageDialog |
ContentDialog (с XamlRoot) |
Windows.UI.Popups |
Microsoft.UI.Xaml.Controls |
BackgroundTaskBuilder |
API фоновых задач Windows App SDK |
Что Copilot может и не может делать автоматически
Copilot хорошо справляется с большинством переопределений пространств имен и простых подстановок API. Существуют области, которые нуждаются в проверке человека:
- изменения модели App — события жизненного цикла UWP (
Suspending,Resuming) не сопоставляют напрямую с WinUI 3; Copilot может предложить альтернативные варианты, но вам потребуется проверить поведение. - Словари ресурсов XAML — ресурсы темы и пользовательские стили могут потребовать ручной корректировки
- Фоновые задачи — модель упаковки отличается; используйте интерфейс командной строки winapp для задания новых элементов манифеста
Модернизация приложения WPF или WinForms
Следует ли обновить или перестроиться с помощью WinUI 3?
Прежде чем начать, стоит решить, какое направление имеет смысл для вашего приложения. Существует несколько разных путей с различными инструментами и областью.
| Ваша ситуация | Рекомендуемый путь |
|---|---|
| Продолжайте WPF или WinForms в качестве платформы пользовательского интерфейса, перейдите к .NET 9+ | Обновление на месте — используйте агент GitHub Copilot по модернизации приложений для автоматизации изменений файла проекта и кода. |
| Добавление современных функций Windows (уведомлений, ИИ, интеграции оболочки) в существующее приложение без изменения платформы пользовательского интерфейса | Добавьте функции Windows App SDK — см. приведенные ниже сценарии; используйте CLI winapp для добавления удостоверения пакета при необходимости. |
| Требуется современный пользовательский интерфейс Fluent, поддержка сенсорного ввода, глубина WinRT или новая база кода | Перестройка с WinUI 3 — см. шаблоны WPF в WinUI 3 для сопоставления API; для подхода с поддержкой Copilot см. статью Миграция приложения UWP в WinUI 3 (специфично для UWP, однако рабочий процесс с использованием Copilot аналогичен) |
| Бизнес-приложение с элементами управления WCF, COM или трудоемкими сторонними интерфейсами управления. | Сперва выполните обновление на месте, а затем постепенно модернизируйте — агент модернизации приложений GitHub Copilot может помочь в обновлении WCF → CoreWCF, EF и ASP.NET Core |
Замечание
"Обновление" (переход на более новую версию .NET в той же платформе пользовательского интерфейса) и "перестроение" (переход к WinUI 3) являются отдельными решениями. ** Теперь вы можете обновить сейчас и перестроить позже, или выполнить оба действия вместе для нового проекта. Агент модернизации приложений GitHub Copilot охватывает путь обновления. В разделах ниже описано добавление Windows App SDK функций в существующее приложение.
WPF и приложения WinForms могут применять Windows App SDK функции без полного перезаписи. Copilot + сервер Learn MCP упрощает поиск и интеграцию конкретных функций.
Добавление push-уведомлений
"У меня есть приложение WPF, предназначенное для .NET 8. Покажите мне, как добавить push-уведомления Windows с помощью Windows App SDK. Приложение в настоящее время не упаковано".
С помощью сервера Learn MCP программа Copilot извлекает актуальную документацию по уведомлениям Windows App SDK и генерирует код для интеграции. Следует также учитывать, что уведомления требуют удостоверения пакета, и предлагается использовать winapp CLI для его добавления.
winapp init
winapp create-debug-identity --publisher "CN=MyApp"
Модернизация внешнего вида и чувства приложения
Мое WPF-приложение выглядит устаревшим. Сделайте его современным с функцией темного режима и боковой панелью навигации, как это используется в современных приложениях Windows.
Добавление средства выбора файлов с помощью Windows App SDK
"Замените использование моего WPF OpenFileDialog с Windows App SDK StorageFilePicker, чтобы улучшить современный пользовательский опыт в Windows."
Добавление уведомлений Windows
"Добавьте уведомление, которое сообщает пользователю, когда фоновая задача завершится".
Copilot распознает, что это требует идентификатор пакета Windows и предлагает использовать winapp CLI для добавления упаковки MSIX, объясняя, что это такое и почему это необходимо. После настройки упаковки он предоставит код уведомления Windows.
Попросите Copilot, чтобы он вас провел через это.
Я хочу, чтобы мое приложение отображало всплывающее уведомление Windows. Объясните, что мне нужно сначала настроить".
Добавление функций Windows в кроссплатформенное приложение
Приложения Electron, Flutter, React Native и Rust могут стать полноправными элементами экосистемы Windows с winapp CLI. Copilot помогает адаптировать код для API Windows после того, как у вас есть идентификатор пакета.
Электрон
npm install @microsoft/winappcli --save-dev
npx winapp init
npx winapp node create-addon --feature notifications
После создания шаблонов надстройки попросите Copilot интегрировать его:
Я подготовил надстройку уведомлений Windows для приложения Electron, используя winapp CLI. Покажите мне, как отправить уведомление из основного процесса после завершения скачивания".
Полное пошаговое руководство см. в руководстве по настройке Electron.
Трепетание
winapp init
"У меня есть приложение Flutter для Windows. Показать мне, как использовать Windows App SDK, чтобы добавить значок области системы с контекстным меню".
Дополнительные сведения о настройке Windows см. в руководстве Flutter.
WPF / .NET
"У меня есть приложение WPF. Покажите мне, как использовать интерфейс командной строки winapp CLI для добавления упаковки MSIX, а затем добавить функцию встроенного искусственного интеллекта на устройство, используя API Windows AI.
См. руководство .NET.
Что разблокируется идентификатором пакета
Для многих мощных функций Windows требуется package identity — который winapp CLI может добавить в любую платформу. После этого Copilot поможет вам использовать следующее:
| Функция | Что можно спросить у Copilot |
|---|---|
| Уведомления приложения | "Добавьте уведомление Windows при завершении моего фонового задания" |
| ИИ на устройстве (Phi Silica, распознавание текста) | "Добавление локального текстового суммирования с использованием API Windows ИИ" |
| интеграция оболочки Windows (лист общего доступа, панель задач) | "Добавьте цель для общего доступа, чтобы пользователи могли делиться в моё приложение из Проводника" |
| Фоновые задачи | "Выполнение фоновой задачи каждый час даже при закрытии приложения" |
| Сопоставления типов файлов | "Зарегистрируй мое приложение для открытия файлов .notes" |
Дальнейшие действия
- Agentic AI tools for Windows development — полные сведения о подключаемом модуле WinUI 3 и сервере Learn MCP
- Интерфейс командной строки для разработки приложений Windows (winapp CLI) — полный справочник по добавлению функций Windows в любой фреймворк
- Документация Windows App SDK
- API ИИ Windows — функции искусственного интеллекта на устройстве, доступные при наличии идентификатора пакета.
Windows developer