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


Что такое модернизация приложений GitHub Copilot?

Модернизация приложения GitHub Copilot — это агент GitHub Copilot, который помогает обновлять проекты до более новых версий .NET и переносить приложения .NET в Azure быстро и уверенно. В нем описаны рекомендации по оценке, рекомендациям по решению, исправлениям кода и проверке в Visual Studio.

Этот процесс упрощает модернизацию и повышает производительность и уверенность разработчиков. Модернизация приложений с помощью GitHub Copilot — это единое решение для обновления и миграции, которое использует ИИ для повышения производительности разработчиков, качества и результатов.

С помощью этого агента можно:

  • Обновление до более новой версии .NET.
  • Перенос технологий и развертывание в Azure.
  • Модернизируйте приложение .NET, особенно при обновлении с .NET Framework.
  • Оцените код, конфигурацию и зависимости приложения.
  • Планирование и настройка подходящего ресурса Azure.
  • Устранение проблем и применение рекомендаций по миграции в облако.
  • Убедитесь, что ваше приложение успешно компилируется и тестируется.

Предоставьте отзыв

Отзывы важны для Корпорации Майкрософт и эффективности этого агента. Используйте функцию "Предложить" и сообщите о проблемах Visual Studio для предоставления отзывов.

Предпосылки

Прежде чем использовать модернизацию приложений GitHub Copilot, вам потребуется следующее:

Замечание

Модернизация приложений GitHub Copilot поддерживается в Visual Studio Code с помощью расширения Marketplace.

Обновление проектов .NET

Агент модернизации поддерживает обновление проектов, закодированных в C#. Агент поддерживает следующие типы проектов:

  • ASP.NET Core (и связанные технологии, такие как MVC, Razor Pages и веб-API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • Библиотеки классов
  • Консольные приложения

Чтобы узнать, как начать обновление, см. статью " Как обновить приложение .NET с помощью модернизации приложения GitHub Copilot".

Варианты обновления

Агент поддерживает следующие пути обновления:

  • Обновите проекты с более старых версий .NET до последней версии.
  • Обновите проекты .NET Framework до .NET.
  • Модернизация базы кода с помощью новых функций.
  • Перенос компонентов и служб в Azure.

Перенос проектов .NET в Azure

Агент модернизации объединяет автоматизированный анализ, исправление кода на основе искусственного интеллекта, проверку сборки и уязвимостей и автоматизацию развертывания для упрощения миграции в Azure. Агент оценивает готовность, применяет исправления и упрощает процесс миграции с помощью следующих возможностей:

  • Анализ и интеллектуальные рекомендации.

    Оцените готовность приложения к миграции Azure и получите специальное руководство на основе зависимостей и выявленных проблем.

  • AI-управляемое улучшение кода.

    Применение стандартных шаблонов кода для ускорения модернизации с минимальными усилиями вручную.

  • Автоматическая сборка и разрешение CVE.

    Автоматическое создание приложения и устранение ошибок компиляции и уязвимостей, упрощение разработки.

  • Простое развертывание.

    Развертывайте в Azure с легкостью, перемещая код из стадии разработки в облако быстрее, чем когда-либо.

Предопределенные задачи для миграции

Предопределенные задачи захватывают отраслевые рекомендации по использованию служб Azure. В настоящее время модернизация приложений GitHub Copilot для .NET предлагает предопределенные задачи, охватывающие распространенные сценарии миграции.

  • Миграция на базу данных с управляемой идентификацией в Azure, включая Azure SQL Database, Azure SQL Managed Instance и Azure Database for PostgreSQL

    Модернизируйте слой данных, мигрируя из локальных или устаревших баз данных (таких как DB2, Oracle DB или SQL Server) в Azure SQL DB, Azure SQL Managed Instance или Azure PostgreSQL, используя безопасную аутентификацию управляемой идентификацией.

  • Миграция в хранилище файлов Azure

    Перемещение операций ввода-вывода файлов из локальной файловой системы в хранилище файлов Azure для масштабируемого управления облачными файлами.

  • Перенос в хранилище объектов Blob в Azure

    Замените объектное хранилище, межоблачное объектное хранилище или локальную файловую систему ввода-вывода на хранилище блоб-объектов Azure для неструктурированных данных.

  • Переход на Microsoft Entra ID

    Переход проверки подлинности и авторизации с Windows Active Directory на идентификатор Microsoft Entra (прежнее название — Azure AD) для современного управления удостоверениями.

  • Перейдите на защищенные учетные данные с помощью управляемой идентификации и Azure Key Vault

    Замените учетные данные обычного текста в конфигурации или коде безопасными управляемыми удостоверениями и Azure Key Vault для управления секретами.

  • Перейти на Azure Service Bus

    Переход от устаревших или сторонних очередей сообщений (например, MSMQ или RabbitMQ) или Amazon SQS (простая служба очередей AWS) в служебную шину Azure для надежного облачного обмена сообщениями.

  • Перейдите на электронную почту Сервиса коммуникации Azure

    Замените прямую отправку SMTP-почты службой коммуникации Azure для масштабируемой безопасной доставки электронной почты.

  • Перейти на Confluent Cloud/Azure Event Hub для Apache Kafka

    Переход с локальной или локальной Kafka на управляемую потоковую передачу событий с помощью Confluent Cloud или Центров событий Azure.

  • Миграция на OpenTelemetry на платформе Azure

    Переход с локальных платформ ведения журнала, таких как log4net, serilog и журнал событий Windows в OpenTelemetry в Azure.

  • Переход на Azure Cache для Redis с использованием управляемого удостоверения

    Замените реализацию кэша Redis в памяти или локальном кэше Redis на кэш Azure для Redis для обеспечения высокой доступности, масштабируемости и корпоративной безопасности.

Принцип работы

Чтобы начать обновление или миграцию, взаимодействуйте с GitHub Copilot, выполнив следующие действия:

  1. Откройте проект или решение .NET в Visual Studio.

  2. Доступ к агенту модернизации приложений GitHub Copilot с помощью одного из следующих методов:

    Щелкните правой кнопкой мыши решение или проект в обозревателе решений и выберите "Модернизировать".

    —или—

    Откройте окно GitHub Copilot Chat и введите команду @modernize с запросом на обновление или миграцию.

  3. Сообщите агенту @modernize о том, что вы хотите обновить или перенести.

При обращении к агенту модернизации с просьбой обновить ваше приложение, Copilot сначала спросит вас создать новую ветвь, если вы используете репозиторий Git. Затем Copilot запускает трехэтапный рабочий процесс. Каждый этап записывает файл Markdown в папку .github/upgrades вашего репозитория, чтобы вы могли просмотреть, что будет дальше, прежде чем продолжить. Если .github/upgrades уже существует с предыдущей попытки, Copilot спрашивает, следует ли продолжить или начать заново.

  • Этап оценки (assessment.md)
    Copilot проверяет структуру проекта, зависимости и шаблоны кода для создания комплексной оценки. В документе перечислены критические изменения, проблемы совместимости API, устаревшие шаблоны и область обновления, чтобы точно знать, что требует внимания.

  • Этап планирования (plan.md)
    Copilot преобразует оценку в подробную спецификацию, которая объясняет, как устранить каждую проблему. Документы плана отображают стратегии обновления, подходы к рефакторингу, пути обновления зависимостей и меры по снижению рисков.

  • Этап выполнения (tasks.md)
    Copilot разбивает план на последовательные, конкретные задачи с критериями проверки. Каждая задача описывает одно изменение и способ подтверждения успешной работы Copilot.

Измените любой из файлов Markdown, .github/upgrades чтобы изменить шаги обновления или добавить контекст перед переходом вперед.

Выполнение обновления

По мере завершения каждого этапа, попросите Copilot перейти к следующему, чтобы у вас было время исследовать и при необходимости изменить любую из задач, изложенных этапом.

Когда вы достигнете последнего этапа выполнения, сообщите Copilot, чтобы начать обновление. Если Copilot сталкивается с проблемой, он пытается определить причину и применить исправление. Если Copilot не может исправить проблему, он просит вашу помощь. Когда вы вмешиваетесь, Copilot узнает о внесенных изменениях и пытается автоматически применить их к вам, если проблема возникает снова.

Результаты модернизации

Когда Copilot выполняет каждую задачу, он обновляет файл tasks.md в .github/upgrades состоянием каждого шага. Отслеживайте ход выполнения, просматривая этот файл. Инструмент создает коммит Git для каждой части процесса, чтобы можно было легко откатить изменения или получить подробную информацию о том, что изменилось.

Когда обновление завершится, Copilot отображает следующие шаги в ответе чата, чтобы узнать, что делать после завершения процесса.

Телеметрия

Средство собирает данные о типах проектов, намерениях по обновлению и длительности обновления. Visual Studio сам собирает и агрегирует данные и не содержит ни одной идентифицируемой пользователем информации. Дополнительные сведения о политике конфиденциальности Майкрософт см. в программе улучшения качества работы с клиентами Visual Studio.