Microsoft, Visual Studio içindeki GitHub Copilot Modernize deneyiminin eski .NET Framework uygulamasını .NET 10’a taşıma sürecini örnek proje üzerinden anlattı. Araç tek komutla kusursuz dönüşüm vaat etmiyor; uygulamayı değerlendiriyor, sorunları raporluyor, plan hazırlıyor ve Guided modunda her görev arasında insan onayı istiyor.
Başlamadan Önce
- Kaynak kodun güncel ve temiz bir Git dalında olduğundan emin olun.
- Mevcut uygulama için çalışan derleme, test ve dağıtım kaydı oluşturun.
- Veritabanı şeması, sırlar, harici servisler ve Windows bağımlılıklarını listeleyin.
- Visual Studio 2022 veya desteklenen daha yeni sürüm ile gerekli Copilot erişimini doğrulayın.
- Üretim verisi yerine yedeklenmiş test ortamı kullanın.
Modernizasyon öncesi “çalışan durum” kanıtı olmadan dönüşüm sonrası hatanın eski mi yeni mi olduğu anlaşılamaz. Özellikle ödeme, kimlik doğrulama, dosya yükleme ve zamanlanmış görevler için uçtan uca test hazırlanmalı.
1. Modernize Akışını Başlatın
Solution Explorer’da proje veya çözüme sağ tıklayıp Modernize seçeneğini açın. Alternatif olarak Copilot sohbetinde @Modernize kullanılabilir. Önerilerden daha yeni .NET sürümüne yükseltme seçildiğinde araç hedef çerçeveyi sorar; Microsoft örneğinde .NET 10 ve Guided akış seçiliyor.
Guided modu kritik çünkü araç her aşamada durup değerlendirme ve planı inceleme fırsatı veriyor. Tam otomatik mod hızlı görünse de büyük uygulamada yanlış varsayımı çok sayıda dosyaya yayabilir.
2. Değerlendirme Raporunu İnceleyin
Araç proje hedeflerini, NuGet paketlerini, kırılan API’leri ve proje bağımlılıklarını tarıyor. Örnek BookCatalog uygulamasında System.Web.Mvc desenlerinin ASP.NET Core karşılıklarına ve Entity Framework 6 veri katmanının EF Core’a taşınması gerekiyor. Rapor; zorunlu, olası ve bilgi amaçlı bulguları ayırıyor.
Her bulgu gerçek iş kuralıyla karşılaştırılmalı. Kullanılmayan eski paket kaldırılabilir; aktif ödeme veya raporlama kütüphanesi için üretici desteği araştırılmalı. Copilot’un “uyumlu” demesi lisans, güvenlik ve çalışma zamanı desteğini tek başına doğrulamaz.
3. Planı Düzenleyin
Değerlendirme onaylandıktan sonra ajan uygulanabilir görev listesi oluşturuyor. İyi bir plan önce proje formatı ve bağımlılıkları, sonra derleme hatalarını, veri katmanını, web davranışını ve testleri ele almalı. Tek büyük değişiklik yerine küçük, geri alınabilir commit’ler tercih edilmeli.
Üretilen değerlendirme ve plan Markdown dosyaları kaynak kontrolüne eklenebiliyor. Böylece ekip hangi varsayımın ne zaman kabul edildiğini görebilir. Hassas bağlantı dizesi veya sır bu dosyalara yazılırsa commit edilmeden temizlenmeli.
4. Görevleri Tek Tek Uygulayın
Plan onaylandığında ajan görevleri sırayla çalıştırıyor ve Guided mod her adımda duruyor. Değişen dosya, paket ve derleme sonucu incelenmeden sonraki göreve geçilmemeli. Otomatik kod dönüşümü sözdizimini düzeltebilir; oturum, önbellek, işlem sınırı ve hata yönetimi gibi davranış farklarını insan kontrol etmeli.
Entity Framework 6’dan EF Core’a geçişte sorgu çevirisi, lazy loading, transaction ve migration davranışı farklı olabilir. Aynı test verisiyle üretilen SQL, sonuç satırı, süre ve kilit davranışı karşılaştırılmalı.
5. Doğrulama
- Temiz makinede bağımlılıkları geri yükleyip Release derlemesi alın.
- Birim ve entegrasyon testlerini çalıştırın.
- Eski ve yeni sürümün kritik ekran, API ve veritabanı sonuçlarını karşılaştırın.
- Yetki, kimlik doğrulama, günlükleme ve sır yönetimini güvenlik açısından inceleyin.
- Yük ve bellek profilini ölçün.
- Test ortamına dağıtıp gerçek kullanıcı akışlarını deneyin.
- Üretim geçişi için geri dönüş sürümü ve veritabanı planı hazırlayın.
Copilot Nerede Hata Yapabilir?
Aynı istek farklı kod değişiklikleri üretebilir. Araç kullanılmayan kodu aktif sanabilir, iş kuralını sadeleştirebilir veya derlenen fakat davranışı değişen çözüm önerebilir. Microsoft da yapay zekâ çıktısının ilk denemede çalışmayabileceğini açıkça belirtiyor. Kod incelemesi, test ve sorumluluk geliştiricide kalıyor.
Arayüz Otomatik Yenilenir mi?
Hayır. Modernization aracı çalışma zamanını ve kod altyapısını yükseltmeye odaklanıyor; kullanıcı arayüzünü yeniden tasarlamıyor. Eski görünüm .NET 10’da aynı kalabilir. UI yenilemesi ayrı kapsam, erişilebilirlik testi ve kullanıcı kabul süreci olarak planlanmalı.
Almadanincele Yorumu
Copilot Modernize’ın en iyi tarafı yüzlerce uyumluluk sorununu görünür, sıralı bir plana çevirmesi. Değerlendirme ve plan dosyalarının kaynak kontrolüne girmesi, “ajan ne yaptı?” sorusuna denetlenebilir cevap sağlıyor.
Ancak araç bir taşıma yardımcısı, teknik lider değil. En güvenli yaklaşım Guided mod, küçük commit, gerçek test verisi ve her aşamada geri dönüş noktası. Eski uygulamayı tek gecede otomatik dönüştürmek yerine riski ölçülebilir parçalara ayıran ekip daha hızlı ve daha az sürprizle ilerler.
Kapak görseli: Microsoft resmi Visual Studio Modernization arayüz görseli. Kullanım bilgisi: Üreticinin veya ilgili kurumun resmi görseli; kaynak belirtilerek editoryal kullanım.
















