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


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

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

Используйте этот агент для:

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

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

Корпорация Майкрософт ценит отзывы и использует ее для улучшения этого агента. Существует два способа оставить отзыв:

Предпосылки

Настройте модернизацию GitHub Copilot в среде разработки перед использованием агента. Инструкции по установке см. в разделе «Установка GitHub Copilot».

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

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

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

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

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

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

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

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

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

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

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

  • Исправление кода на основе искусственного интеллекта

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

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

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

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

    Развертывайте в Azure, переведя ваш код от разработки до эксплуатации быстрее.

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

Модернизация GitHub Copilot для .NET предлагает предопределенные задачи, которые фиксируют рекомендации отрасли и охватывают распространенные сценарии миграции.

  • Перенос на базу данных на основе управляемых идентификаторов в Azure, включая Azure SQL DB, Azure SQL MI и Azure PostgreSQL

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

  • Переместить в файловое хранилище Azure

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

  • Перенос на Azure Blob Storage

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

  • Перейти на Microsoft Entra ID

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

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

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

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

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

  • Переход на службу электронной почты Azure Communication Service

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

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

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

  • Перейдите на OpenTelemetry в Azure

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

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

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

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

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

  1. Откройте проект или решение .NET в среде разработки.

  2. Запустите агент с помощью одного из следующих методов:

    • Visual Studio: щелкните правой кнопкой мыши решение или проект в Solution Explorer и выберите Modernize. Или откройте окно GitHub Copilot чат и введите @Modernize.
    • Visual Studio Code: откройте панель GitHub Copilot чат и введите @modernize-dotnet.
    • GitHub Copilot CLI: введите @modernize-dotnet, а затем ваш запрос на обновление или миграцию.
    • GitHub.com. Используйте агент кодирования modernize-dotnet в репозитории.
  3. Сообщите агенту, что нужно обновить или перенести.

Когда вы просите агента модернизации обновить ваше приложение, 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 Программа улучшения качества обслуживания клиентов.