Справочник по сценариям и навыкам

GitHub Copilot модернизации .NET помогает модернизировать scenarios и skills:

  • Scenarios являются комплексными управляемыми рабочими процессами для основных целей обновления, таких как обновление с .NET Framework до .NET 10. Сценарии координирует полный жизненный цикл: оценку, планирование и выполнение задач.
  • Навыки ориентированы на определенные задачи обновления, такие как преобразование EF6 в EF Core или замена WCF на CoreWCF. Навыки активируются автоматически, когда агент встречает соответствующий код во время обновления.

Агент поддерживает проекты C# и Visual Basic.

Подсказка

Вам не нужно запоминать имена. Описать нужное ("обновление до .NET 10", "обновить код EF6", "заменить Newtonsoft.Json") и агент автоматически загружает правильный сценарий и навыки. Вы также можете спросить: "Что вы можете помочь мне?"

Сценарии

Сценарии — это рабочие процессы обновления верхнего уровня агента. При запуске беседы агент определяет лучший сценарий для цели и пошаговые инструкции.

Сценарий Что делает Пример запроса
.NET обновление версии Обновляет проекты с любой более старой версии .NET до .NET 8 или более поздней. "Обновление решения до .NET 10"
Преобразование в стиле ПАКЕТА SDK Преобразует устаревшие файлы проекта в современный формат стиля ПАКЕТА SDK. "Преобразование моих проектов в стиль ПАКЕТА SDK"
Обновление Newtonsoft.Json Заменяет Newtonsoft.Json на System.Text.Json в решении. Обновление с Newtonsoft.Json
Обновление SqlClient Обновляет System.Data.SqlClient до Майкрософт. Data.SqlClient. Обновление SqlClient до современного пакета
Функции Azure обновление Обновляет Функции Azure от внутрипроцессной до изолированной рабочей модели. "Обновление моего Функции Azure"
Semantic Kernel агентам Обновляется с агентов SK до платформы агента Майкрософт. "Обновление агентов SKU"

Сквозное пошаговое руководство см. в основных понятиях.

обновление версий .NET

Наиболее распространенный сценарий. Обновляет проекты с любого более старого варианта .NET до последней версии:

Исходный материал Цель
.NET Framework (любая версия) .NET 8 или более поздней версии
.NET Core 1.x–3.x .NET 8 или более поздней версии
.NET 5 или более поздней версии .NET 8 или более поздней версии

Агент анализирует граф зависимостей, проверяет совместимость NuGet, определяет критические изменения и создает план задач, используя оптимальную стратегию для решения (вниз, сверху вниз или сразу). Если в проектах требуются преобразования формата, агент автоматически обрабатывает их в рамках обновления.

Преобразование в стиле ПАКЕТА SDK

Преобразует устаревшие .csproj и .vbproj файлы в современный формат пакета SDK, не изменяя целевые платформы. Агент автоматически обрабатывает преобразование во время обновления версий. При необходимости запустите этот сценарий независимо.

Обновление Newtonsoft.Json

Заменяет Newtonsoft.Json решение.System.Text.Json Обрабатывает пользовательские преобразователи, атрибуты, [JsonProperty]JObject/JArray параметры использования и сериализации.

Обновление SqlClient

Обновление с System.Data.SqlClient до Майкрософт.Data.SqlClient. Обрабатывает изменение поведения Encrypt=true по умолчанию и строка подключения различия.

обновление Функции Azure

Обновляет Функции Azure от модели размещения в процессе до изолированной рабочей модели с Program.cs и HostApplicationBuilder. Включает обновление Application Insights.

Semantic Kernel в платформу агента Майкрософт

Обновление агентов Semantic Kernel (ChatCompletionAgent, OpenAIAssistantAgent) до Майкрософт Agent Framework. Обновляет пакеты и шаблоны API.

Навыки обновления: распространенные

Навыки обновления общего назначения, применимые к типам проектов.

Skill Что делает
Преобразование в стиль ПАКЕТА SDK Преобразует устаревшие файлы проекта в современный формат стиля ПАКЕТА SDK. Использует топологическую упорядочение для решений с несколькими проектами.
Upgrading Autofac .NET DI Удаляет автофак полностью и обновляет все регистрации до встроенной внедрения зависимостей ASP.NET Core.
Integrating Autofac с .NET Сохраняет автофак в качестве контейнера DI, но модернизирует свою ASP.NET Core интеграцию.
Обновление пространств имен шифрования System.Security.Cryptography Устраняет разделение пространства имен для типов, таких как X509Certificate2 иSignedCms.
Обновление Newtonsoft до System.Text.Json Полное обновление Newtonsoft.Jsonс . Обрабатывает преобразователи, атрибуты, динамические типы и параметры.
Upgrading Semantic Kernel агентам Обновляет API-интерфейсы агента Semantic Kernel до платформы ИИ агентов Майкрософт.
Обновление до MSMQ. Обмена сообщениями Обновление с System.Messaging (только .NET Framework) до MSMQ.Messaging для .NET Core.
Преобразование в централизованное управление пакетами Преобразует управление версиями пакетов NuGet для каждого проекта в централизованное управление пакетами с помощью Directory.Packages.props.
Модернизация версии C# Обновляет код C#, чтобы использовать новые возможности языка (C# 7.0 до 15). Пакетные механические изменения через dotnet format и используют решение LLM для семантических преобразований.
Обновление ссылок, допускающих значение NULL C# Включает типы ссылок, допускающие значение NULL, и систематически разрешает все предупреждения CS86xxx. Рассматриваются стратегии развертывания, рекомендации по заметкам и рекомендации, связанные с платформой.

Навыки обновления: доступ к данным

Навыки обновления уровней доступа к данным, включая Entity Framework, LINQ to SQL и клиентские библиотеки SQL.

Skill Что делает
Обновление EDMX до Code-First Преобразует модели EF6 Database-First (.edmx) в EF Core Code-First. Шаблонные сущности из базы данных.
Обновление EF DbContext Регистрирует DbContext в ASP.NET Core внедрения зависимостей. Обрабатывает как EF6, так и существующие шаблоны EF Core.
Обновление EF6 Code-First до EF Core Обновляет EF6 Code-First до EF Core. Переключает пакеты, обновляет пространства имен и заменяет иEntityTypeConfiguration.DbModelBuilder
Upgrading to Майкрософт. Data.SqlClient Обновление с System.Data.SqlClient. Обрабатывает изменение Encrypt=true по умолчанию и строка подключения различия.

Навыки обновления: веб-интерфейс и ASP.NET

Навыки обновления приложений ASP.NET Framework до ASP.NET Core.

обновление платформы ASP.NET

Skill Что делает
Upgrading ASP.NET Framework to Core Комплексное обновление с ASP.NET Framework (MVC/WebAPI) до ASP.NET Core, включая контроллеры, представления, ПО промежуточного слоя, проверку подлинности и конфигурацию.
Upgrading ASP.NET Identity Обновляет удостоверение ASP.NET MVC до удостоверения ASP.NET Core, включая IdentityDbContext, UserManager, SignInManager и ПО промежуточного слоя проверки подлинности.
Обновление Global.asax Преобразует события жизненного цикла Global.asax (Application_Start, Application_Error) в ASP.NET Core Program.cs и ПО промежуточного слоя.
Обновление OWIN до ПО промежуточного слоя Заменяет ПО промежуточного слоя OWIN/Katana (IAppBuilder, OwinMiddleware) эквивалентами ASP.NET Core.
Обновление проверки подлинности файлов cookie OWIN Обновляет ПО промежуточного слоя проверки подлинности файлов cookie OWIN до ASP.NET Core проверки подлинности файлов cookie.
Обновление OWIN OAuth до JWT Обновляет проверку подлинности маркера носителя OAuth OWIN до ASP.NET Core аутентификации носителя JWT.
Обновление OWIN OpenID Connect Обновляет ПО промежуточного слоя OWIN OpenID Connect до ASP.NET Core проверки подлинности OpenID Connect.

Функции MVC

Skill Что делает
Обновление проверки подлинности MVC Обновляет ASP.NET MVC проверку подлинности до ASP.NET Core ПО промежуточного слоя идентификации и проверки подлинности.
Обновление bundling MVC System.Web.Optimization Преобразует объединение в прямые <script>/<link> теги или современные пакеты.
Обновление конфигурации MVC Обновляет параметры web.config и app.config до системы конфигурации ASP.NET Core (appsettings.json, переменные среды).
Обновление согласования содержимого MVC Обновляет шаблоны и модули форматирования содержимого до ASP.NET Core.
Обновление контроллеров MVC Обновляет контроллеры MVC и WebAPI до шаблонов контроллеров ASP.NET Core.
Обновление внедрения зависимостей MVC Обновляет регистрации контейнеров DI до внедрения встроенных зависимостей ASP.NET Core.
Обновление фильтров MVC Преобразует глобальные фильтры MVC (FilterConfig, GlobalFilters) в ASP.NET Core ПО промежуточного слоя и конвейер фильтра.
Обновление конвейера HTTP MVC Обновляет модули HTTP и обработчики до ASP.NET Core ПО промежуточного слоя.
Обновление MVC HttpContext Обновляет использование System.Web.HttpContext до ASP.NET Core HttpContext.
Обновление ведения журнала MVC Обновляет ведение журнала до Майкрософт.Extensions.Logging.
Обновление привязки модели MVC Обновляет шаблоны привязки модели до привязки ASP.NET Core модели.
Обновление представлений Razor MVC Обновляет представления Razor, макеты и компоненты просмотра до ASP.NET Core Razor.
Обновление маршрутизации MVC Преобразует маршрутизацию RouteCollection ASP.NET Core в маршрутизацию конечных точек MapControllerRoute, маршрутизацию атрибутов).
Обновление состояния сеанса MVC Обновляет состояние сеанса до ASP.NET Core распределенного сеанса.
Обновление статических файлов MVC Обновляет обработку статических файлов до по промежуточного слоя статических файлов ASP.NET Core.
Обновление адаптеров MVC System.Web Использует системные веб-адаптеры для добавочного обновления с ASP.NET Framework до ASP.NET Core.
Обновление проверки MVC Обновляет атрибуты и шаблоны проверки до ASP.NET Core проверки.

WCF

Skill Что делает
Обновление WCF до CoreWCF Обновляет серверные службы WCF до CoreWCF для .NET 6+. Преобразует размещение, привязки, расширения поведения и асинхронные контракты.

Навыки обновления: облако и Azure

Skill Что делает
Upgrading Функции Azure Startup Обновляет Функции Azure из класса Startup до изолированной рабочей модели с Program.cs.
Upgrading Функции Azure до версии 2 Обновляет Функции Azure до шаблона размещения версии 2 с помощью IHostApplicationBuilder.
Upgrading Azure Key Vault Обновляет устаревший пакет SDK Azure Key Vault до современных библиотек Azure.Security.KeyVault.
Upgrading Служебная шина Azure Обновляет устаревший пакет SDK Служебная шина Azure до современной библиотеки Azure.Messaging.ServiceBus.
Upgrading служба хранилища Azure Обновляет устаревший пакет SDK служба хранилища Azure до современных библиотек Azure.Storage.

Навыки обновления: библиотеки

Skill Что делает
Обновление ADAL до MSAL Обновляет библиотеку проверки подлинности Azure Active Directory (ADAL) до Microsoft Authentication Library (MSAL).
Upgrading ASP.NET SignalR Обновляет ASP.NET SignalR до ASP.NET Core SignalR.
Обновление интерфейсов Бонда Обновляет Майкрософт сериализацию Бонда до современных альтернатив.
Обновление EDM данных до OData Data.Edm Обновляет типы до библиотек OData.
Обновление OData до OData Core Обновляет Майкрософт.Data.OData до Майкрософт.OData.Core.
Обновление клиента служб данных Обновляет клиент служб данных WCF до современного клиента OData.
Обновление пакета SDK PowerShell Обновляет модули PowerShell с Windows PowerShell 5.1 до PowerShell 7+ с помощью пакета Майкрософт.PowerShell.SDK.
Обновление служб SPA до прокси-сервера SPA Обновляет Майкрософт.AspNetCore.SpaServices до модели размещения прокси-сервера SPA.
Обновление System.Spatial Обновляет Майкрософт.Spatial и System.Spatial до современных пространственных альтернатив.
Обновление CORS WebAPI Обновляет System.Web.Http.Cors до ASP.NET Core ПО промежуточного слоя CORS.
Обновление OData WebAPI Обновляет OData WebAPI до ASP.NET Core OData.

При активации навыков

Агент постепенно загружает навыки по мере развертывания сеанса обновления:

Когда Что происходит
Запуск сеанса Агент загружает сценарий сопоставления и все навыки, которые немедленно относятся к базе кода.
Во время выполнения Так как агент работает с задачами, он загружает дополнительные специализированные навыки по запросу при возникновении определенных шаблонов обновления, таких как файлы EDMX, службы WCF или ПО промежуточного слоя OWIN.
По запросу Вы можете попросить агента использовать любой навык в любое время. Например, "помогите мне обновить WCF до CoreWCF" или "использовать навык обновления EF6".

Вам не нужно управлять загрузкой навыков. Агент обрабатывает его автоматически. Просто описать, что вам нужно.

Создание собственных навыков

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

Поместите навыки в репозитории (.github/skills/) или профиле пользователя (%UserProfile%/.copilot/skills/), а агент автоматически выбирает их.

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