Referenz zu Szenarien und Fähigkeiten

GitHub Copilot Modernisierung für .NET hilft Ihnen bei der Modernisierung durch scenarios und kills:

  • Scenarios sind End-to-End-verwaltete Workflows für wichtige Upgradeziele, z. B. das Upgrade von .NET Framework auf .NET 10. Szenarien koordinieren den vollständigen Lebenszyklus: Bewertung, Planung und Aufgabenausführung.
  • Fähigkeiten sind fokussierte Funktionen für bestimmte Upgradeaufgaben, z. B. das Konvertieren von EF6 in EF Core oder das Ersetzen von WCF durch CoreWCF. Fähigkeiten werden automatisch aktiviert, wenn der Agent während eines Upgrades auf relevanten Code trifft.

Der Agent unterstützt sowohl C#- als auch Visual Basic Projekte.

Tipp

Sie müssen keine Namen merken. Beschreiben Sie, was Sie wünschen ("Upgrade auf .NET 10", "upgrade my EF6 code", "replace Newtonsoft.Json") und der Agent lädt automatisch das richtige Szenario und fähigkeiten. Sie können auch fragen: "Was können Sie mir helfen?"

Szenarien

Szenarien sind die Upgradeworkflows der obersten Ebene des Agents. Wenn Sie eine Unterhaltung beginnen, identifiziert der Agent das beste Szenario für Ihr Ziel und führt Sie schrittweise durch.

Szenario Was es tut Beispielaufforderung
.NET Versionsupgrade Aktualisiert Projekte von einer älteren .NET-Version auf .NET 8 oder höher. "Upgrade meiner Lösung auf .NET 10"
Konvertierung im SDK-Stil Konvertiert ältere Projektdateien in ein modernes SDK-Format. "Meine Projekte in SDK-Format konvertieren"
Newtonsoft.Json-Upgrade Ersetzt Newtonsoft.Json durch System.Text.Json in einer Lösung. "Upgrade von Newtonsoft.Json"
SqlClient-Upgrade Aktualisiert System.Data.SqlClient auf Microsoft. Data.SqlClient. "Aktualisieren von SqlClient auf das moderne Paket"
Azure Functions upgrade Aktualisiert Azure Functions vom in-Process-Modell auf das isolierte Arbeitsmodell. "Upgrade meines Azure Functions"
Semantischer Kernel an Agents Upgrades von SK-Agents auf Microsoft Agent Framework. "Aktualisieren meiner SK-Agents"

Eine durchgängige exemplarische Vorgehensweise finden Sie unter "Kernkonzepte".

.NET Versionsupgrade

Das häufigste Szenario. Aktualisiert Ihre Projekte von einer älteren .NET Variante auf die neuesten:

Quelle Ziel
.NET Framework (beliebige Version) .NET 8 oder höher
.NET Core 1.x–3.x .NET 8 oder höher
.NET 5 oder höher .NET 8 oder höher

Der Agent analysiert Ihr Abhängigkeitsdiagramm, überprüft die NuGet-Kompatibilität, identifiziert fehlerhafte Änderungen und erstellt einen Aufgabenplan mit der besten Strategie für Ihre Lösung (bottom-up, top-down oder all-at-once). Wenn Ihre Projekte Formatkonvertierungen benötigen, verarbeitet der Agent sie automatisch als Teil des Upgrades.

Konvertierung im SDK-Stil

Konvertiert Legacy- .csproj und .vbproj Dateien in das moderne SDK-Format, ohne die Zielframeworks zu ändern. Der Agent verarbeitet die Konvertierung während Versionsupgrades automatisch. Führen Sie dieses Szenario bei Bedarf unabhängig aus.

Newtonsoft.Json-Upgrade

Newtonsoft.Json Ersetzt sie durch System.Text.Json die gesamte Lösung. Behandelt benutzerdefinierte Konverter, [JsonProperty] Attribute, JObject/JArray Verwendungs- und Serialisierungseinstellungen.

SqlClient-Upgrade

Upgrades von System.Data.SqlClient auf Microsoft.Data.SqlClient. Behandelt die Encrypt=true Standardverhaltensänderung und Verbindungszeichenfolge Unterschiede.

upgrade Azure Functions

Aktualisiert Azure Functions vom In-Process-Hostingmodell auf das isolierte Workermodell mit Program.cs und HostApplicationBuilder. Umfasst das Upgrade von Application Insights.

Semantischer Kernel zum Microsoft Agent Framework

Upgrades von Semantischer Kernel Agents (ChatCompletionAgent, OpenAIAssistantAgent) auf Microsoft Agent Framework. Aktualisiert Pakete und API-Muster.

Upgradefähigkeiten: allgemein

Allgemeine Upgradefähigkeiten, die für projektübergreifende Typen gelten.

Fertigkeit Was es tut
Konvertieren in SDK-Format Konvertiert ältere Projektdateien in ein modernes SDK-Format. Verwendet topologische Sortierung für Projektlösungen mit mehreren Projekten.
Upgrading Autofac auf .NET DI Entfernt Autofac vollständig und aktualisiert alle Registrierungen auf integrierte ASP.NET Core Abhängigkeitsinjektion.
Integrieren von Autofac mit .NET Hält Autofac als DI-Container, modernisiert aber seine ASP.NET Core Integration.
Aktualisieren von Kryptografienamespaces Behebt die System.Security.Cryptography Namespaceteilung für Typen wie X509Certificate2 und SignedCms.
Aktualisieren von Newtonsoft auf "System.Text.Json" Vollständiges Upgrade von Newtonsoft.Json. Behandelt Konverter, Attribute, dynamische Typen und Einstellungen.
Upgrading Semantischer Kernel Aktualisiert Semantischer Kernel Agent-APIs auf das Microsoft Agents AI Framework.
Upgrade auf MSMQ. Messaging Upgrades von System.Messaging (nur .NET Framework) auf MSMQ.Messaging für .NET Core.
Konvertieren in zentrale Paketverwaltung Konvertiert die NuGet-Paketversionsverwaltung pro Projekt in die zentralisierte Paketverwaltung mithilfe von Directory.Packages.props.
Modernisieren der C#-Version Aktualisiert C#-Code auf die Verwendung neuerer Sprachfeatures (C# 7.0 bis 15). Batches mechanische Änderungen durch dotnet format und verwendet LLM-Urteil für semantische Transformationen.
Aktualisieren von C#-Null-Verweisen Aktiviert nullfähige Verweistypen und löst systematisch alle CS86xx-Warnungen auf. Behandelt Rolloutstrategien, Anmerkungsanleitungen und frameworkspezifische Überlegungen.

Upgrade-Fähigkeiten: Datenzugriff

Fähigkeiten zum Aktualisieren von Datenzugriffsebenen, einschließlich Entity Framework, LINQ to SQL und SQL-Clientbibliotheken.

Fertigkeit Was es tut
Upgrade von EDMX auf Code First Konvertiert EF6-Database-First (.edmx)-Modelle in EF Core Code First. Erstellt ein Gerüst für Entitäten aus der Datenbank.
Aktualisieren von EF DbContext Registriert DbContext in ASP.NET Core Abhängigkeitsinjektion. Behandelt ef6 sowohl ef Core als auch vorhandene EF Core-Muster.
Aktualisieren von EF6-Code-First auf EF Core Aktualisiert EF6 Code-First auf EF Core. Vertauscht Pakete, aktualisiert Namespaces und ersetzt und ersetzt EntityTypeConfiguration .DbModelBuilder
Upgradeing auf Microsoft. Data.SqlClient Upgrades von System.Data.SqlClient. Behandelt die Encrypt=true Standardänderung und Verbindungszeichenfolge Unterschiede.

Upgradefähigkeiten: Web und ASP.NET

Fähigkeiten zum Aktualisieren ASP.NET Framework-Anwendungen auf ASP.NET Core.

ASP.NET Framework-Upgrade

Fertigkeit Was es tut
Upgrading ASP.NET Framework auf Core Umfassendes Upgrade von ASP.NET Framework (MVC/WebAPI) auf ASP.NET Core, einschließlich Controllern, Ansichten, Middleware, Authentifizierung und Konfiguration.
Upgrading ASP.NET Identity Aktualisiert ASP.NET MVC Identity auf ASP.NET Core Identity, einschließlich IdentityDbContext, UserManager, SignInManager und Authentifizierungs-Middleware.
Upgrade von Global.asax Konvertiert Global.asax-Lebenszyklusereignisse (Application_Start, Application_Error) in ASP.NET Core Program.cs und Middleware.
Aktualisieren von OWIN auf Middleware Ersetzt OWIN/Katana Middleware (IAppBuilder, OwinMiddleware) durch ASP.NET Core Entsprechungen.
Upgrade der OWIN-Cookieauthentifizierung Aktualisiert OWIN-Cookieauthentifizierungs-Middleware auf ASP.NET Core Cookie-Authentifizierung.
Upgrade von OWIN OAuth auf JWT Aktualisiert die OWIN OAuth-Bearertokenauthentifizierung auf ASP.NET Core JWT-Bearerauthentifizierung.
Upgrade von OWIN OpenID Connect Aktualisiert OWIN OpenID Connect Middleware auf ASP.NET Core OpenID Connect-Authentifizierung.

MVC-Features

Fertigkeit Was es tut
Aktualisieren der MVC-Authentifizierung Aktualisiert ASP.NET MVC Authentifizierung auf ASP.NET Core Identitäts- und Authentifizierungs-Middleware.
Upgrade von MVC-Bündelung System.Web.Optimization Konvertiert die Bündelung in direkte <script>/<link> Tags oder moderne Bundler.
Aktualisieren der MVC-Konfiguration Aktualisiert web.config und app.config Einstellungen auf das ASP.NET Core Konfigurationssystem (appsettings.json, Umgebungsvariablen).
Aktualisieren der MVC-Inhaltsverhandlung Aktualisiert Inhaltsverhandlungsmuster und -formatierer auf ASP.NET Core.
Aktualisieren von MVC-Controllern Aktualisiert MVC- und WebAPI-Controller auf ASP.NET Core Controllermuster.
Aktualisieren der MVC-Abhängigkeitsinjektion Aktualisiert DI-Containerregistrierungen auf die integrierte Abhängigkeitsinjektion von ASP.NET Core.
Aktualisieren von MVC-Filtern Konvertiert globale MVC-Filter (FilterConfig, GlobalFilters) in ASP.NET Core Middleware und Filterpipeline.
Aktualisieren der MVC-HTTP-Pipeline Aktualisiert HTTP-Module und -Handler auf ASP.NET Core Middleware.
Aktualisieren von MVC HttpContext Aktualisiert die Verwendung System.Web.HttpContext auf ASP.NET Core HttpContext.
Aktualisieren der MVC-Protokollierung Aktualisiert die Protokollierung auf Microsoft.Extensions.Logging.
Aktualisieren der MVC-Modellbindung Aktualisiert Modellbindungsmuster auf ASP.NET Core Modellbindung.
Aktualisieren von MVC Razor-Ansichten Aktualisiert Razor-Ansichten, Layouts und Ansichtskomponenten auf ASP.NET Core Razor.
Aktualisieren des MVC-Routings Konvertiert RouteCollection Routing in ASP.NET Core Endpunktrouting (MapControllerRoute, Attributrouting).
Aktualisieren des MVC-Sitzungszustands Aktualisiert den Sitzungszustand auf ASP.NET Core verteilte Sitzung.
Aktualisieren statischer MVC-Dateien Aktualisiert die Verarbeitung statischer Dateien auf die Middleware für statische Dateien ASP.NET Core.
Aktualisieren von MVC System.Web-Adaptern Verwendet System.Web-Adapter für das inkrementelle Upgrade von ASP.NET Framework auf ASP.NET Core.
Aktualisieren der MVC-Überprüfung Aktualisiert Überprüfungsattribute und -muster auf ASP.NET Core Überprüfung.

WCF

Fertigkeit Was es tut
Aktualisieren von WCF auf CoreWCF Aktualisiert serverseitige WCF-Dienste auf CoreWCF für .NET 6+. Konvertiert Hosting-, Bindungen, Verhaltenserweiterungen und asynchrone Verträge.

Upgradefähigkeiten: Cloud und Azure

Fertigkeit Was es tut
Upgrading Azure Functions Startup Aktualisiert Azure Functions von der in-Process-Startup-Klasse auf das isolierte Arbeitsmodell mit Program.cs.
Upgrading Azure Functions auf v2 Aktualisiert Azure Functions mithilfe von IHostApplicationBuilder auf das v2-Hostingmuster.
Upgrading Azure Key Vault Aktualisiert legacy Azure Key Vault SDK auf die modernen Azure.Security.KeyVault-Bibliotheken.
Upgrading Azure Service Bus Aktualisiert legacy Azure Service Bus SDK auf die moderne Azure.Messaging.ServiceBus-Bibliothek.
Upgrading Azure Storage Aktualisiert legacy Azure Storage SDK auf die modernen Azure.Storage-Bibliotheken.

Upgradefähigkeiten: Bibliotheken

Fertigkeit Was es tut
Aktualisieren von ADAL auf MSAL Aktualisiert Azure Active Directory Authentifizierungsbibliothek (ADAL) auf Microsoft Authentication Library (MSAL) (MSAL).
Upgrading ASP.NET SignalR Aktualisiert ASP.NET SignalR auf ASP.NET Core SignalR.
Aktualisieren von Bondschnittstellen Aktualisiert Microsoft Bond Serialisierung auf moderne Alternativen.
Aktualisieren von Daten-EDM auf OData Aktualisiert Data.Edm Typen auf OData-Bibliotheken.
Aktualisieren von Daten-OData auf OData Core Aktualisiert Microsoft.Data.OData auf Microsoft.OData.Core.
Aktualisieren des Data Services-Clients Aktualisiert den WCF Data Services-Client auf den modernen OData-Client.
Aktualisieren des PowerShell SDK Aktualisiert PowerShell-Module von Windows PowerShell 5.1 auf PowerShell 7+ mit dem paket Microsoft.PowerShell.SDK.
Aktualisieren von SPA-Diensten auf SPA-Proxy Aktualisiert Microsoft.AspNetCore.SpaServices auf das SPA-Proxyhostingmodell.
Upgrade von System.Spatial Aktualisiert Microsoft.Spatial und System.Spatial auf moderne räumliche Alternativen.
Aktualisieren von WebAPI CORS Aktualisiert System.Web.Http.Cors auf ASP.NET Core CORS Middleware.
Aktualisieren von WebAPI OData Aktualisiert WebAPI OData auf ASP.NET Core OData.

Wenn Fähigkeiten aktiviert werden

Der Agent lädt die Fähigkeiten nach und nach, während sich Ihre Upgradesitzung entwickelt:

Wann Was ist los
Sitzungsstart Der Agent lädt das passende Szenario und alle Fähigkeiten, die für Ihre Codebasis sofort relevant sind.
Während der Ausführung Da der Agent Aufgaben durchläuft, lädt er zusätzliche spezielle Fähigkeiten bei Bedarf, wenn es auf bestimmte Upgrademuster wie EDMX-Dateien, WCF-Dienste oder OWIN-Middleware trifft.
Auf Anfrage Sie können den Agenten bitten, jederzeit jede Fähigkeit zu verwenden. Beispiel : "Helfen Sie mir, WCF auf CoreWCF zu aktualisieren" oder "verwenden Sie die EF6-Upgradefähigkeit".

Sie müssen das Laden von Fähigkeiten nicht verwalten. Der Agent verarbeitet ihn automatisch. Beschreiben Sie einfach, was Sie benötigen.

Eigene Fähigkeiten erstellen

Erstellen Sie benutzerdefinierte Fähigkeiten, um die Für Ihre Codebasis spezifischen Agentmuster zu vermitteln, z. B. interne Framework-Upgrades, Codierungskonventionen oder benutzerdefinierte Upgradeworkflows.

Platzieren Sie Fähigkeiten in Ihrem Repository (.github/skills/) oder Benutzerprofil (%UserProfile%/.copilot/skills/), und der Agent nimmt sie automatisch auf.

Weitere Informationen zum Erstellen benutzerdefinierter Fähigkeiten finden Sie unter Anwenden von benutzerdefinierten Upgradeanweisungen.