.NET Yükseltme Yardımcısı'na genel bakış
.NET'in yeni sürümleri yıl boyunca yayınlanıyor ve yılda bir kez büyük bir sürüme sahip. .NET Yükseltme Yardımcısı.NET, .NET Core ve .NET Framework'ün önceki sürümlerindeki uygulamaları en son sürüme yükseltmenize yardımcı olur.
.NET Yükseltme Yardımcısı, uygulamaları .NET'in en son sürümüne yükseltmeye yardımcı olmak için tasarlanmış bir Visual Studio uzantısı ve komut satırı aracıdır.
.NET Yükseltme Yardımcısı ile ilgili sorunlar, Geri Bildirim>Gönder Sorun Bildir'i seçerek >Visual Studio'da dosyalanabilir.
Yükseltme Yardımcısı'nı yükleme
.NET Yükseltme Yardımcısı bir Visual Studio uzantısı veya .NET komut satırı aracı olarak yüklenebilir. Daha fazla bilgi için bkz . .NET Yükseltme Yardımcısı'nı yükleme.
Desteklenen diller
Aşağıdaki kod dilleri desteklenir:
- C#
- Visual Basic
Desteklenen projeler
Aşağıdaki proje türleri desteklenir:
- ASP.NET
- Azure İşlevleri
- Windows Presentation Foundation
- Windows Forms
- Sınıf kitaplıkları
- Konsol uygulamaları
- .NET Native UWP
- Xamarin Forms
- .NET MAUI
Yükseltme yolları
Aşağıdaki yükseltme yolları desteklenmektedir:
- .NET Framework'e .NET
- .NET Core'da .NET'e
- WinUI 3'e UWP
- En son .NET sürümüne önceki .NET sürümü
- Azure İşlevleri v1-v3 ile v4 arası yalıtılmış
- Xamarin Forms to .NET MAUI
- XAML dosya dönüştürmeleri yalnızca ad alanlarını yükseltmeyi destekler. Daha kapsamlı dönüştürmeler için Visual Studio 2022 sürüm 17.6 veya üzerini kullanın.
Visual Studio uzantısıyla yükseltme
.NET Yükseltme Yardımcısı uzantısını yükledikten sonra, Çözüm Gezgini penceresinde projeye sağ tıklayın ve Yükselt'i seçin.
Dikkat
Kaynak denetimi kullanmıyorsanız yükseltmeden önce projelerinizi yedeklediğinizden emin olun.
Proje türünüz temelinde farklı yükseltme stilleri sağlayan bir sekme açılır:
Yerinde proje yükseltme
Bu seçenek, kopya oluşturmadan projenizi yükselter.
Yan yana proje yükseltme
Projenizi kopyalar ve kopyayı yükselterek özgün projenizi tek başına bırakır.
Yan yana artımlı
Karmaşık web uygulamaları için iyi bir seçimdir. ASP.NET'den ASP.NET Core'a yükseltmek için biraz çalışma ve bazen el ile yeniden düzenleme gerekir. Bu mod var olan .NET Framework projenizin yanına bir .NET projesi koyar ve .NET projesinde uygulanan uç noktaları yönlendirirken diğer tüm çağrılar .NET Framework uygulamasına gönderilir.
Bu mod, ASP.NET veya Kitaplık uygulamanızı parça parça yükseltmenizi sağlar.
Uygulamanız yükseltildikten sonra, yükseltmeyle ilişkili projenizle ilgili tüm yapıtları gösteren bir durum ekranı görüntülenir. Her yükseltme yapıtı, durum hakkında daha fazla bilgi okumak için genişletilebilir. Aşağıdaki listede durum simgeleri açıklanmaktadır:
- Dolu yeşil onay işareti: Yapıt yükseltildi ve başarıyla tamamlandı.
- Doldurulmamış yeşil onay işareti: Araç yükseltilen yapıtla ilgili hiçbir şey bulamadı.
- Sarı uyarı işareti: Yapıt yükseltildi, ancak dikkate almanız gereken önemli bilgiler var.
- Kırmızı X: Yapıt yükseltilecekti, ancak yükseltme başarısız oldu.
Ayrıca, Yükseltme Yardımcısı'nın gerçekleştirdiği eylemler, aşağıdaki görüntüde gösterildiği gibi Yükseltme Yardımcısı kaynağının altındaki Çıkış penceresine günlüğe kaydedilir:
Projenizi yükselttikten sonra kapsamlı bir şekilde test etmeniz gerekir.
CLI aracıyla yükseltme
.NET Yükseltme Yardımcısı CLI aracını yükledikten sonra bir terminal penceresi açın ve yükseltmek istediğiniz projeyi içeren dizine gidin. CLI'nin upgrade-assistant --help
sağladığı kullanılabilir seçenekleri görmek için komutunu kullanabilirsiniz.
Dikkat
Kaynak denetimi kullanmıyorsanız yükseltmeden önce projelerinizi yedeklediğinizden emin olun.
Aracı komutuyla upgrade-assistant upgrade
çalıştırın; geçerli klasördeki ve altındaki tüm projeler listelenir. CLI aracı, yükseltecek projeyi seçmenin etkileşimli bir yolunu sağlar. Öğeyi seçmek için ok tuşlarını kullanın ve öğeyi çalıştırmak için Enter tuşuna basın. Yükseltmek istediğiniz projeyi seçin. Bu makale tarafından sağlanan örnekte, geçerli klasörün altında dört proje vardır:
Selected options
───────────────────────────────────────────────────────────
No options specified, follow steps below to continue
Steps
─────────────────
Source project
─────────────────
Which project do you want to upgrade (found 9)?
> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)
Navigation
Exit
Yükselteceğiniz projeye bağlı olarak, yükseltmenin nasıl devam etmesi gerektiğini belirtmek için size bir seçenek sunulabilir:
Yerinde proje yükseltme
Bu seçenek, kopya oluşturmadan projenizi yükselter.
Yan yana proje yükseltme
Bu seçenek yalnızca .NET Framework projeleri için kullanılabilir. Projenizi kopyalar ve kopyayı yükselterek özgün projenizi tek başına bırakır.
Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Source project C:\Code\winforms\MatchingGame\MatchingGame.csproj
Steps
───────────────────────────────
Source project / Upgrade type
───────────────────────────────
How do you want to upgrade project MatchingGame?
> In-place project upgrade
Side-by-side project upgrade
Navigation
Back
Exit
Bu adımdan sonra, birden fazla yükseltilebilir hedef çerçeve varsa bir hedef seçersiniz:
Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Source project C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
Ugrade type Inplace
Steps
──────────────────────────────────────────────────
Source project / Ugrade type / Target framework
──────────────────────────────────────────────────
What is your preferred target framework?
> .NET 6.0 (Supported until November, 2024)
.NET 7.0 (Supported until May, 2024)
.NET 8.0 (Try latest preview features)
Navigation
Back
Exit
Projenizi yükselttikten sonra kapsamlı bir şekilde test etmeniz gerekir.