GitHub Copilot modernizasyonu nedir?

GitHub Copilot modernleştirme, projeleri daha yeni .NET sürümlerine yükseltmenize ve .NET uygulamaları hızla ve güvenle Azure geçirmenize yardımcı olan bir GitHub Copilot aracısıdır. Visual Studio, Visual Studio Code, GitHub Copilot CLI ve GitHub.com genelinde değerlendirme, çözüm önerileri, kod düzeltmeleri ve doğrulamada size yol gösterir.

Bu ajanı kullanın:

  • daha yeni bir .NET sürümüne yükseltin.
  • Teknolojileri taşıyın ve Azure'a dağıtın.
  • Özellikle .NET Framework'ten yükseltme yaparken .NET uygulamanızı modernleştirin.
  • Uygulamanızın kodunu, yapılandırmasını ve bağımlılıklarını değerlendirin.
  • Doğru Azure kaynağını planlayın ve ayarlayın.
  • Sorunları düzeltin ve buluta geçiş için en iyi yöntemleri uygulayın.
  • Uygulamanızın başarıyla derlendiğini ve test ettiğini doğrulayın.

Scenarios

Aracı, senaryolar olarak adlandırılan birden çok uçtan uca modernleştirme iş akışı sağlar. Her senaryo, belirli bir yükseltme veya geçiş türü boyunca size yol gösteren yönetilen bir iş akışıdır:

Scenario Açıklama Örnek talimat
.NET sürüm yükseltme Eski .NET sürümlerinden .NET 8, 9, 10 veya sonraki sürümlere yükseltmeler. "Çözümümü .NET 10"
SDK stili dönüştürme Eski proje biçimini SDK stiline dönüştürür. "SDK stiline dönüştür"
Newtonsoft.Json yükseltmesi Newtonsoft.Json öğesini System.Text.Json ile değiştirir. "Newtonsoft.Json'dan yükseltme"
SqlClient yükseltmesi System.Data.SqlClient'dan Microsoft.Data.SqlClient'e yükseltme. "SqlClient'i Güncelleştir"
Azure İşlevleri yükseltmesi Azure İşlevleri işlem içi çalışan modelinden yalıtılmış çalışan modeline yükselter. "Azure İşlevleri'ımı yükselt"
Semantik Çekirdek'den Ajanlara Semantic Çekirdek Ajanlarını Microsoft Ajan Çerçevesine yükseltiyor. "SK ajanlarımı güncelle"

Tüm senaryoların tam referansı ve 30'dan fazla yerleşik yükseltme becerisi için bakınız Senaryolar ve beceriler rehberi.

Geri bildirimde bulunun

Microsoft, geri bildiriminizi değerlendirir ve aracıyı geliştirmek için kullanır. Aşağıdaki seçeneklerden birini kullanarak geri bildirimde bulunmak için:

Önkoşullar

Aracıyı kullanmadan önce geliştirme ortamınızda GitHub Copilot modernleştirmeyi ayarlayın. Yükleme adımları için bkz. GitHub Copilot Modernleştirmesinin Yüklenmesi.

.NET projelerini yükseltme

Modernleştirme aracısı C# ve Visual Basic projelerini aşağıdaki türlerde yükseltmeyi destekler:

  • ASP.NET Core (ve MVC, Razor Pages ve Web API gibi ilgili teknolojiler)
  • Blazor
  • Azure İşlevleri
  • Windows Presentation Foundation (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI ve Xamarin
  • Sınıf kitaplıkları
  • Konsol uygulamaları
  • Test projeleri (MSTest, NUnit ve xUnit)

Yükseltmeyi başlatmak için bkz. GitHub Copilot modernleştirme ile .NET uygulamasını yükseltme.

Desteklenen yükseltme yolları

Aracı aşağıdaki yükseltme süreçlerini destekler:

Kaynak Hedef
.NET Framework (herhangi bir sürüm) .NET 8 veya üzeri
.NET Core 1.x–3.x .NET 8 veya üzeri
.NET 5 veya üzeri .NET 8 veya üzeri

.NET projelerini Azure geçirme

Modernleştirme aracısı otomatik analiz, yapay zeka temelli kod düzeltme, derleme ve güvenlik açığı denetimleri ve dağıtım otomasyonu aracılığıyla Azure geçişleri basitleştirir:

  • Analiz ve akıllı öneriler.

    Uygulamanızın Azure geçişe hazır olduğunu değerlendirin ve bağımlılıklarına ve tanımlanan sorunlara göre uyarlanmış yönergeler alın.

  • Yapay zeka destekli kod düzeltme.

    Modernleştirmeyi en az el ile çabayla hızlandırmak için önceden tanımlanmış en iyi uygulama kod desenlerini uygulayın.

  • Otomatik derleme ve CVE çözümlemesi.

    Uygulamanızı oluşturun ve derleme hatalarını ile güvenlik açıklarını çözerek geliştirme sürecini daha verimli hale getirin.

  • Sorunsuz dağıtım.

    Kodunuzu geliştirme aşamasından üretime daha hızlı götürerek Azure dağıtın.

Geçiş için önceden tanımlanmış görevler

.NET için GitHub Copilot modernleştirme, endüstrinin en iyi yöntemlerini yakalayan ve yaygın geçiş senaryolarını kapsayan önceden tanımlanmış görevler sunar.

  • Azure SQL DB, Azure SQL MI ve Azure PostgreSQL dahil olmak üzere, Azure'da Yönetilen Kimlik tabanlı Veritabanına geçiş yapın

    Şirket içi veya eski veritabanlarından (DB2, Oracle DB veya SQL Server gibi) Azure SQL DB, Azure SQL Yönetilen Örneği veya Azure PostgreSQL'e geçiş yaparak veri katmanınızı modernleştirin. Güvenli yönetilen kimlik kimlik doğrulaması kullanın.

  • Azure Dosya Depolamaya Geçiş Yap

    Ölçeklenebilir, bulut tabanlı dosya yönetimi için dosya G/Ç işlemlerini yerel dosya sisteminden Azure Dosya Depolama'ya taşıyın.

  • Azure Blob Depolama'a Taşı

    Şirket içi veya bulutlar arası nesne depolama alanını veya yerel dosya sistemi dosyası G/Ç'yi yapılandırılmamış veriler için Azure Blob Depolama ile değiştirin.

  • Microsoft Entra ID'ye Geçiş Yap

    Kimlik doğrulamasını ve yetkilendirmeyi Windows Active Directory'den modern kimlik yönetimi için Microsoft Entra ID (eski adıyla AD Azure) geçirin.

  • Managed Identity ve Azure Key Vault

    Yapılandırma veya kodda yer alan düz metin kimlik bilgilerini güvenli, yönetilen kimlikler ve gizli bilgilerin yönetimi için Azure Key Vault ile değiştirin.

  • Azure Service Bus'a Geçiş Yapın

    Güvenilir, bulut tabanlı mesajlaşma için eski veya üçüncü taraf ileti kuyruklarından (MSMQ veya RabbitMQ gibi) veya Amazon SQS'den (AWS Basit Kuyruk Hizmeti) Azure Service Bus geçin.

  • Azure İletişim Hizmeti e-postasına geçiş yapın

    Ölçeklenebilir, güvenli e-posta teslimi için doğrudan SMTP e-posta göndermeyi Azure İletişim Hizmeti ile değiştirin.

  • Apache Kafka için Confluent Cloud/Azure Event Hub'a Taşıyın

    Confluent Cloud veya Azure Event Hubs ile yerel veya şirket içi Kafka'dan yönetilen olay akışına geçiş.

  • Azure'da OpenTelemetry'ye geçiş yapın

    log4net, Serilog ve Windows olay günlüğü gibi yerel günlük çerçevelerinden Azure'de OpenTelemetry'ye geçiş yapın.

  • Redis için Azure Önbellek'e Yönetilen Kimlik kullanarak geçiş yapın

    Yüksek kullanılabilirlik, ölçeklenebilirlik ve kurumsal düzeyde güvenlik için bellek içi veya yerel Redis önbelleği uygulamalarını Redis için Azure Önbellek ile değiştirin.

Nasıl çalışır?

Yükseltme veya geçiş işlemini başlatmak için bkz:

  1. geliştirme ortamınızda .NET projenizi veya çözümünüzü açın.

  2. Aracıyı şu yöntemlerden birini kullanarak başlatın:

    • Visual Studio: Çözüm Gezgini'da çözüme veya projeye sağ tıklayın ve Modernize öğesini seçin. Alternatif olarak, GitHub Copilot Chat penceresini açın ve @Modernize yazın.
    • Visual Studio Code: GitHub Copilot Chat panelini açın ve @modernize-dotnet yazın.
    • GitHub Copilot CLI: @modernize-dotnet yazın ve ardından yükseltme veya geçiş isteğinizi yazın.
    • GitHub.com: Deponuzda modernize-dotnet kodlama aracısını kullanın.
  3. Aracıya neyi yükselteceğini veya neyi taşıyacağını söyleyin.

Modernleştirme aracısına uygulamanızı yükseltmesini istediğinizde, Copilot git deposunda çalışıyorsanız önce yeni bir dal oluşturmanızı ister. Ardından Copilot projenizi değerlendirir ve üç aşamalı bir iş akışı çalıştırır. Her aşama, devam etmeden önce sonraki adımları gözden geçirebilmeniz için deponuzda altında .github/upgrades/{scenarioId} Markdown dosyaları oluşturur. .github/upgrades/{scenarioId} önceki bir denemeden zaten varsa, Copilot devam etmek mi yoksa yeni bir başlangıç mı başlatmak isteyip istemediğinizi sorar.

Copilot kapsamlı bir değerlendirme oluşturmak için proje yapınızı, bağımlılıklarınızı ve kod desenlerinizi inceleyerek başlar. Dosyada assessment.md önemli değişiklikler, API uyumluluk sorunları, artık kullanılmayan desenler ve yükseltme kapsamı listelenir.

Değerlendirmeden sonra Copilot aşağıdaki üç aşamayı çalıştırır:

  1. Assessment: Copilot proje yapınızı, bağımlılıklarınızı ve kod desenlerinizi inceler, ardından yükseltme stratejisi (aşağıdan yukarı, yukarıdan aşağıya veya hepsi bir kerede), proje yükseltme yaklaşımı, teknoloji modernleştirme seçenekleri ve uyumluluk işleme gibi strateji kararlarını gözden geçirmeniz için sunar. Copilot, onaylanan kararları upgrade-options.md kaydeder.

  2. Planning: Copilot, değerlendirmeyi ve onaylanmış seçeneklerinizi ayrıntılı bir spesifikasyona dönüştürür. Dosya plan.md yükseltme stratejilerini, yeniden düzenleme yaklaşımlarını, bağımlılık yollarını ve risk azaltmalarını belgeler.

  3. Execution: Copilot planı tasks.md doğrulama ölçütleriyle sıralı ve somut görevlere böler. Her görev, tek bir değişikliği ve Copilot'un bu değişikliğin başarılı olduğunu nasıl onayladığını açıklar.

Yükseltme adımlarını ayarlamak veya ilerlemeden önce bağlam eklemek için içindeki .github/upgrades/{scenarioId} Markdown dosyalarından herhangi birini düzenleyin.

Yükseltme stratejileri

Değerlendirme aşamasında aracı çözümünüzü değerlendirir ve şu stratejilerden birini önerir:

Strateji En iyi kullanım alanı: Açıklama
Alttan yukarı Derin bağımlılık grafikleri içeren büyük çözümler Önce yaprak projelerini yükseltir, sonra yukarı doğru çalışır.
Yukarıdan aşağıya Ana uygulama hakkında hızlı geri bildirim Önce uygulama projesini yükseltir, ardından bağımlılıkları düzeltir.
Hepsi bir kerede Küçük, basit çözümler Tüm projeleri tek geçişle yükselter.

Akış modları

Ajan, girdiğiniz için ne kadar süre duraklayacağını kontrol eden iki akış modunu destekler.

  • Otomatik: Aracı, duraklatmadan tüm aşamalarda çalışır, sadece gerçek engelleyicilerde durur. Deneyimli kullanıcılar ve basit yükseltmeler için en iyi.
  • Rehberli: Devam etmeden önce değerlendirmeyi, planı ve görevleri gözden geçirebilmeniz için ajan her aşama sınırında duraklar. İlk kez kullananlar ve karmaşık çözümler için en iyi yöntemdir.

İstediğiniz zaman "duraklat" (kılavuzlu moda girmek için) veya "devam" (otomatik moda girmek için) diyerek modlar arasında geçiş yapın.

Durum yönetimi

Aracı, tüm yükseltme durumunu .github/upgrades/{scenarioId}/ içinde depolar. Klasör aşağıdakileri içerir:

Dosya Amaç
assessment.md Çözümünüzün analizi
upgrade-options.md Doğrulanmış yükseltme kararları
plan.md Sıralı görev planı
tasks.md Canlı ilerleme panosu
scenario-instructions.md Tercihler, kararlar ve özel yönergeler dahil olmak üzere aracının kalıcı belleği
execution-log.md Tüm değişikliklerin ayrıntılı denetim kaydı
tasks/{taskId}/task.md Görev başına kapsam ve bağlam
tasks/{taskId}/progress-details.md Görev başına yürütme notları ve sonuçları

Tüm durum bu klasörde yer aldığı için IDE'nizi kapatabilir, oturumlar arasında geçiş yapabilir, hatta geliştirme ortamları arasında geçiş yapabilirsiniz (örneğin, VS Code ile başlayıp Visual Studio devam edebilirsiniz). Yazılım aracı kaldığı yerden devam eder.

Tavsiye

.github/upgrades/ Klasörü dalınıza işleyin. Kaydedilmiş durum bir yedekleme işlevi görür ve ekip üyelerinin yükseltme ilerleme durumunu görüntülemesine olanak tanır.

Yükseltmeyi gerçekleştirme

Her aşama tamamlandıktan sonra, oluşturulan dosyaları gerektiği gibi gözden geçirin ve değiştirin, ardından Copilot'a bir sonraki aşamaya devam etmesini söyleyin.

Execution aşamasına ulaştığınızda Copilot yükseltmeyi başlatmasını söyleyin. Copilot bir sorunla karşılaşırsa, nedenini belirlemeye ve bir düzeltme uygulamaya çalışır. Copilot sorunu düzeltemezse yardımınızı ister. Müdahale ettiğinizde, Copilot yaptığınız değişikliklerden öğrenir ve sorun yeniden ortaya çıktığında bunları otomatik olarak uygulamayı dener.

Yükseltme sonuçları

Copilot her görevi çalıştırdıkça, tasks.md içindeki .github/upgrades/{scenarioId} dosyasını her adımın durumuyla güncelleştirir. Bu dosyayı gözden geçirerek ilerleme durumunu izleyin. Copilot işlemin her bölümü için bir Git işlemesi oluşturur, böylece değişiklikleri geri alabilir veya değişenleri gözden geçirebilirsiniz.

Yükseltme tamamlandığında, Copilot sohbet yanıtında sonraki adımları görüntüler.

Telemetri

Araç proje türleri, yükseltme amacı ve yükseltme süresi hakkında veri toplar. Geliştirme ortamı verileri toplar ve birleştirir ve kullanıcıya ait tanımlayıcı hiçbir bilgi içermez. Microsoft gizlilik ilkesi hakkında daha fazla bilgi için bkz. Visual Studio Müşteri Deneyimini Geliştirme Programı.