Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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. | |
| 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:
Visual Studio özellik önerin ve Sorun bildir seçeneklerini kullanın.
@modernize-dotnet GitHub deposunda bir sorun oluşturun.
Ö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:
geliştirme ortamınızda .NET projenizi veya çözümünüzü açın.
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
@Modernizeyazın. -
Visual Studio Code: GitHub Copilot Chat panelini açın ve
@modernize-dotnetyazın. -
GitHub Copilot CLI:
@modernize-dotnetyazın ve ardından yükseltme veya geçiş isteğinizi yazın. -
GitHub.com: Deponuzda
modernize-dotnetkodlama aracısını kullanı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
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:
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.mdkaydeder.Planning: Copilot, değerlendirmeyi ve onaylanmış seçeneklerinizi ayrıntılı bir spesifikasyona dönüştürür. Dosya
plan.mdyükseltme stratejilerini, yeniden düzenleme yaklaşımlarını, bağımlılık yollarını ve risk azaltmalarını belgeler.Execution: Copilot planı
tasks.mddoğ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ı.