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.
Bu makale, bir Windows Forms uygulamasını .NET Framework'ten .NET yükseltmeye nelerin dahil olduğunu anlamanıza yardımcı olur. Windows Forms, .NET üzerinde desteklenir ve yeni denetimler, yüksek DPI iyileştirmeleri ve erişilebilirlik güncelleştirmeleri dâhil olmak üzere aktif olarak geliştirilmeye devam edilmektedir. Mevcut bir Windows Forms uygulamasına sahipseniz ve bu iyileştirmelerden yararlanmak veya desteklenen bir .NET sürümüne geçmek istiyorsanız, bu makale tam size göredir.
Makale yükseltme nedenlerini, kullanılabilir yükseltme yollarını ve yükseltmenin sorunsuz çalışmasını sağlayan hazırlık çalışmalarını kapsar. Ayrıca hangi .NET Framework teknolojilerinin .NET eşdeğeri olmadığını, Windows Uyumluluk Paketi'ni kullanarak API boşluklarını nasıl doldurabileceğinizi ve hataya neden olan değişikliklerin uygulamanızı nasıl etkileyebileceğini açıklar.
Yükseltme hakkında bir örnek için bkz. GitHub Copilot modernleştirme ile .NET için Windows Forms uygulamasını yükseltme.
Neden yükseltin?
.NET Framework, yalnızca Windows'ta çalışan, kapalı kaynaklı ve artık özellik güncellemeleri almayan bir çalışma zamanıdır. Desteklenen sürümler için güvenlik düzeltme ekleri almaya devam etse de, .NET performans çalışmasından, dil iyileştirmelerinden veya etkin yatırımdan yararlanmaz. .NET Framework'te bir Windows uygulaması kullanıyorsanız, .NET'a yükseltmek, açıkta etkin olarak geliştirilmiş daha hızlı ve daha yetenekli bir platforma erişmenizi sağlar.
.NET sürümlerde güncel kalmak da önemlidir. Her .NET sürümünde tanımlı bir destek penceresi vardır ve destek dışı sürümde çalışan uygulamalar güvenlik düzeltme eklerini ve düzeltmelerini almayı durdurur. Korunmaya devam etmek için destek sona ermeden önce yükseltin.
.NET çalışma zamanı başlatma, aktarım hızı ve bellek kullanımı arasında anlamlı performans geliştirmeleri sunar. .NET masaüstü uygulamaları da özelliklere yönelik sürekli yatırımlardan yararlanır:
- Daha yeni denetimler, erişilebilirlik geliştirmeleri ve yüksek DPI geliştirmeleri.
- Windows ile daha iyi tümleştirme. Windows 11'da Koyu Mod gibi bazı özellikler yalnızca .NET kullanılabilir.
- Daha yeni C# ve Visual Basic dil özellikleri ve geliştirilmiş araçlar.
- .NET hedefleyen zengin bir NuGet paketleri ekosistemi.
.NET her yıl uzun vadeli destek (LTS) ile standart vadeli destek (STS) sürümleri arasında değişen yeni bir ana sürüm yayınlar:
- LTS sürümleri üç yıl boyunca desteklenir ve genellikle kararlılığı tercih eden üretim uygulamaları için en iyi seçenektir.
- STS sürümleri 24 ay boyunca desteklenir ve yeni özellikleri daha erken benimsemek istediğinizde kullanışlıdır.
Uygulamanızın her zaman desteklenen bir sürümde olması için yükseltme temponuzu bu tarihler etrafında planlayın. Desteklenen geçerli sürümler ve destek sonu tarihleri için bkz. .NET sürümleri, düzeltme ekleri ve destek.
Yükseltme yöntemleri
Çoğu yükseltme iki kategoriden birine ayrılır. Uygulamanız için hangi yolun geçerli olduğunu belirleyin, ardından bu makaledeki yönergeleri ve araçları kullanarak çalışmayı tamamlayın.
.NET Framework'ten .NET:En önemli değişiklik.
Proje dosyası biçimi, bazı API'ler ve belirli teknolojiler farklıdır. Başlamadan önce önkoşulları gözden geçirin, bağımlılıklarınızı değerlendirin ve API boşluklarını planlayın.
Uygulamanız .NET derlenip çalıştırıldıktan sonra isteğe bağlı olarak yapılandırma, bağımlılık ekleme veya bulut hizmetleri gibi
appsettings.jsondaha yeni desenleri benimseyebilirsiniz. Bu desenlerin benimsenmesi, .NET modernleştirmeden ayrıdır ve yükseltmeyi tamamlamak için gerekli değildir. Fikirler ve yönergeler için bkz. .NET Framework'ten .NET yükselttikten sonra modernleştirme.Eski bir .NET sürümünden daha yeni bir sürüme: Daha küçük kapsamlı bir yükseltme.
Başlıca görevler, hedef çerçeve tanımlayıcısını güncellemek, geçiş yaptığınız sürümlerdeki uyumluluğu bozan değişiklikleri gözden geçirmek ve NuGet bağımlılıklarını güncellemektir.
.NET Framework'ten .NET yükseltme
.NET Framework'ten .NET'ye yükseltmek, bu bölümün en önemli yükseltme yolu ve birincil odağıdır.
Important
.NET platformlar arası bir teknoloji olsa da, .NET için Windows masaüstü uygulamaları yalnızca Windows kalır.
Değişikliklerden biri proje dosyası biçimidir. .NET sdk stili proje biçimini kullanır ve bu, eski biçimden daha kısadır. Proje dosyanızı SDK stiline dönüştürebilirsiniz, ancak .NET Framework'ü hedefler; bu da gerçek bağlantı noktası sırasındaki değişikliğin kapsamını azaltır ve size daha iyi bir temel sağlar.
tüm .NET Framework API'leri .NET'da kullanılamaz. Bazı API'ler görünüşte mevcuttur ancak çalışma zamanında PlatformNotSupportedException hatası verir. Windows Uyumluluk Paketi (Microsoft.Windows.CompatibilityNuGet paketi), Windows Kayıt Defteri, Windows Olay Günlüğü ve daha fazlası gibi Windows özgü API'lere erişim sağlayarak bu boşlukların çoğunu doldurur. Ayrıntılar için bkz. .NET bağlantı noktası kodu için Windows Uyumluluk Paketi'ni kullanma.
Bazı .NET Framework teknolojilerinin .NET eşdeğeri yoktur ve Uygulama Etki Alanları, Kod Erişim Güvenliği (CAS) ve Windows Workflow Foundation gibi alternatif yaklaşımlar gerektirir. Daha fazla bilgi için Kullanılamayan .NET Framework teknolojileri bölümüne bakın.
Üçüncü taraf bağımlılıklarınızı denetleme. Yalnızca .NET Framework'i hedefleyen denetimler ve kitaplıklar .NET üzerinde çalışmayabilir. .NET Standart 2.0'ı veya doğrudan .NET hedefleyen NuGet paketlerini tercih edin. Taşımamış paketler için topluluk alternatiflerini arayın veya Windows Uyumluluk Paketi'nin gerekli API'leri kapsayıp kapsamadığını denetleyin.
.NET sürümleri arasında yükseltme
Bir .NET sürümünden diğerine (örneğin, .NET 9'dan .NET 10'a) geçmek, genellikle .NET Framework'ten modernleştirmeye kıyasla daha küçük bir çabadır. Temel görev, proje dosyanızdaki <TargetFramework> özelliğini yeni hedef çerçeve tanımlayıcısıyla güncellemektir. Örneğin, net9.0-windows'ı net10.0-windows olarak değiştirmek.
Hedefi güncellemeden önce, üzerinden geçtiğiniz her sürüm için kırıcı değişiklikler belgelerini gözden geçirin. Uyumluluğu bozan değişiklikler davranışsal olabilir, ikili veya kaynak uyumluluğunu etkileyebilir ya da tasarım zamanı davranışını değiştirebilir. Küçük sürüm boşlukları bile uygulamanızı etkileyen değişikliklere neden olabilir. .NET’teki uyumsuzluğa neden olan değişiklikleri gözden geçirin ve yükselttiğiniz sürümler aralığına göre filtreleyin.
Hedef çerçeveyi güncelleştirdikten sonra NuGet bağımlılıklarınızı güncelleştirin. Eski .NET sürümlerini hedefleyen paketler, geçerli çalışma zamanından yararlanan daha yeni sürümlere sahip olabilir. Güncelleştirmeleri denetleyin ve taşıdığınız sürümü hedefleyen paketleri tercih edin. Ayrıca bazı paketlerde API'ler kullanım dışı bırakılmış veya daha yeni sürümlerde davranış değiştirilmiş olabilir, bu nedenle güncelleştirme sırasında sürüm notlarını gözden geçirin.
GitHub Copilot uygulamasını modernleştirme
GitHub Copilot modernleştirme aracısı, Windows Forms ve WPF uygulamalarını yükseltmek için önerilen araçtır. Bu, yükseltme sürecinin tamamını yöneten, GitHub Copilot’a entegre yapay zekâ destekli uçtan uca bir deneyimdir.
Ajan, üç aşamalı bir iş akışı izler:
Değerlendirme. Copilot proje yapınızı, bağımlılıklarınızı ve kod desenlerinizi inceler. Hataya neden olan değişiklikleri, API uyumluluk sorunlarını, kullanım dışı desenleri ve genel yükseltme kapsamını tanımlar. Ardından devam etmeden önce gözden geçirmeniz için yükseltme sırası ve uyumluluk işleme gibi strateji kararları sunar.
Planlama. Copilot değerlendirmeyi ve onaylanan seçimlerinizi ayrıntılı bir yükseltme planına dönüştürür, yükseltme stratejilerini belgeler, yaklaşımları yeniden düzenleme, bağımlılık yolları ve risk azaltmaları.
Yürütme. Copilot planı doğrulama ölçütleriyle sıralı görevlere böler, kod düzeltmeleri uygular ve değişiklikleri artımlı olarak işler. Otomatik olarak çözemediğiniz bir sorunla karşılaşırsa, yardımınızı ister ve düzeltmeden öğrenir.
Tüm yükseltme durumu deponuzda depolanır .github/upgrades/ , böylece ilerlemeyi kaybetmeden oturumlar arasında duraklatıp sürdürebilir veya geliştirme ortamları arasında geçiş yapabilirsiniz.
Aracı, şu yükseltme yollarını destekler:
- .NET Framework’ün herhangi bir sürümünden .NET 8 veya sonraki sürümlere
- .NET Core 1.x–3.x ile .NET 8 veya üzeri
- .NET 5-7’den .NET 8’e veya sonraki sürümlere
- Azure hizmetlerine geçiş
Visual Studio 2026, Visual Studio 2022 17.14.16+, Visual Studio Code ve GitHub CLI'da kullanılabilir. Visual Studio'de yükseltme başlatmak için, Çözüm Gezgini'da çözümünüz veya projenize sağ tıklayın ve Modernleştir'i seçin ya da GitHub Copilot Chat penceresini açıp yazın@Modernize. Visual Studio Code’da GitHub Copilot Chat panelini açın ve @modernize-dotnet yazın.
Kurulum ve kullanım ayrıntıları için bkz. GitHub Copilot modernleştirme nedir?.
Kullanılamayan .NET Framework teknolojileri
Çeşitli .NET Framework teknolojilerinin .NET eşdeğeri yoktur ve uygulamanızın yeni çalışma zamanında çalışabilmesi için alternatif yaklaşımlar gerekir. Uygulamanızın geçiş çalışmalarının en kesintiye neden olan kategorisini temsil ettiği için bu teknolojilerden herhangi birine daha önce bağımlı olup olmadığını belirleyin. Tam başvuru için bkz. .NET'da kullanılamayan .NET Framework teknolojileri.
Uygulama etki alanları
AppDomaindesteklenmez. Dinamik derleme yükleme için AssemblyLoadContext kullanın ve yalıtım için ayrı işlemler veya kapsayıcılar kullanın. BazıAppDomainAPI üyeleri mevcuttur, ancak çalışma zamanında PlatformNotSupportedException oluşturur.uzaktan iletişim
.NET Uzaktan İletişim desteklenmez. Yerel IPC için System.IO.Pipes veya makineler arası iletişim için gRPC ve ASP.NET Core MemoryMappedFile kullanın. Temsilci nesnelerinde
BeginInvoke()veEndInvoke()çağrıları daPlatformNotSupportedExceptionoluşturur.Kod Erişim Güvenliği (CAS)
CAS desteklenmez ve artık bir güvenlik sınırı değildir. Bunun yerine sanallaştırma, kapsayıcılar veya kullanıcı hesapları gibi işletim sistemi düzeyinde güvenlik sınırlarını kullanın.
Güvenlik saydamlığı
Korumalı kodu güvenlik açısından kritik koddan ayıran güvenlik saydamlığı artık güvenlik sınırı olarak desteklenmiyor. CAS gibi, bu özellik de .NET’in sağlamadığı çalışma zamanı yaptırımına dayanıyordu. Bunun yerine işletim sistemi düzeyinde yalıtım mekanizmaları kullanın.
Windows Workflow Foundation (WF)
WF , .NET'te desteklenmez. Uygulamanız iş akışlarını barındırıyor veya kullanıyorsa, .NET hedefleyen Windows Workflow Foundation çalışma zamanının açık kaynak bağlantı noktası olan CoreWF'yi göz önünde bulundurun.
System.EnterpriseServices (COM+)
System.EnterpriseServices desteklenmez. Nesne havuzu oluşturma, işlemler veya rol tabanlı güvenlik
System.EnterpriseServicesgibi COM+ hizmetlerini kullanan uygulamaların alternatifleri kullanacak şekilde yeniden tasarlanması gerekir. Dağıtılmış işlemler içinSystem.Transactionsdeğerlendirin. Hizmet barındırma senaryoları için ASP.NET Core veya çalışan hizmetlerini göz önünde bulundurun.
Bu alanlardaki bazı API’lerin .NET'te bulunduğunu, ancak derleme sırasında hata vermek yerine çalışma zamanında PlatformNotSupportedException fırlattığını unutmayın. Uygulamanızı tamamen taşımaya yatırım yapmadan önce, bu sorunları ortaya çıkarmak için geçiş sürecinin başlarında uygulamanızı .NET üzerinde test edin.
.NET Framework'ten yükseltmeye başlamadan önce
Uygulamanızı .NET taşımaya başlamadan önce, projeniz .NET Framework'i hedeflerken bir dizi hazırlık adımını tamamlayın. Bu temel çalışma ilk olarak gerçek yükseltme sırasında değişikliğin kapsamını azaltır ve başlangıç olarak daha temiz, doğrulanmış bir taban çizgisi sağlar. Tam başvuru için bkz. .NET Framework'ten kod taşıma önkoşulları.
Araçlarınızı yükseltin.
Hedeflediğiniz .NET sürümünü destekleyen bir Visual Studio sürümü çalıştırdığınızdan emin olun. Daha yeni SDK sürümleri gelişmiş geçiş desteği, daha iyi çözümleyiciler ve güncelleştirilmiş proje şablonları içerir. .NET SDK, MSBuild ve Visual Studio sürümleri arasındaki ilişki için bkz. .NET SDK, MSBuild ve Visual Studio arasında sürüm oluşturma ilişkisi.
Hedef .NET Framework 4.7.2 veya üzeri.
Taşımadan önce projenizi .NET Framework 4.7.2 veya sonraki bir sürüme yeniden hedefleyin. Bu sürüm, yükseltme sırasında karşılaşabileceğiniz API boşluklarının sayısını azaltan .NET Standard 2.0 ile en geniş API uyumluluk yüzeyini sağlar.
Visual Studio'da projeye sağ tıklayın, Özellikler'i seçin ve Hedef Çerçeve açılan listesini .NET Framework 4.7.2 olarak değiştirin. Devam etmeden önce sorunları yeniden derleyip düzeltin.
PackageReference biçimine dönüştürün.
Projeniz NuGet başvurularını yönetmek için bir
packages.configdosya kullanıyorsa biçime geçinPackageReference. PackageReference modern bir yaklaşımdır ve sonraki adımda benimseydiğiniz SDK stili proje biçimiyle doğrudan tümleştirilir.Visual Studio'da, Çözüm Gezgini'nde
packages.configöğesine sağ tıklayın ve packages.config dosyasını PackageReference'a Geçir seçeneğini belirleyin. Devam etmeden önce geçiş çıktısını gözden geçirin ve varsa uyarıları giderin.SDK stili proje biçimine dönüştürün.
Proje dosyanızı SDK stili biçime geçirin. SDK stilindeki projeler daha kısadır, çoklu hedeflemeyi destekler ve .NET için gereklidir. Bu dönüştürme, hâlâ .NET Framework hedeflenirken yapılabilir; bu yüzden güvenli bir hazırlık adımıdır. Birçok dönüştürme aracı bunu otomatik olarak işler veya proje dosyası içeriğini SDK stili eşdeğeriyle değiştirip gerekli özellikleri yeniden ekleyerek el ile dönüştürebilirsiniz.
NuGet bağımlılıklarını güncelleştirin.
Tüm NuGet paketlerini en son sürümlerine güncelleştirin ve yalnızca .NET Framework'ü hedefleyen paketler yerine .NET Standard 2.0'ı hedefleyen paketleri tercih edin. Bu, hedef çerçeveyi değiştirdiğinizde bağımlılık engelleyici riskini azaltır. Daha yeni sürümlerde ortaya çıkan hataya neden olan değişiklikler için paket sürüm notlarını gözden geçirin.
Önceki önerilerin tümü, .NET yükseltmeden önce projelerinizin iyi durumda olmasını sağlar.
Windows Uyumluluk Paketi
.NET Framework'ten taşırken karşılaşılan en yaygın sorunlardan biri eksik API'lerdir. .NET Standard, Windows Kayıt Defteri, WMI ve yansıma yayma gibi tüm platformlarda çalışamayan teknolojileri kasıtlı olarak dışlar, bu nedenle bu API'ler varsayılan olarak kullanılamaz.
Microsoft.Windows.Compatibility NuGet paketi bu boşluğu doldurur. Aşağıdaki teknoloji alanlarında yaklaşık 20.000 API sağlar:
- Windows Kayıt Defteri
- Windows Olay Günlükleri
- Windows Yönetim Araçları (WMI)
- Windows Performans Sayaçları
- Dizin Hizmetleri
- Windows Erişim Denetim Listeleri (ACL)
- Windows Hizmetleri
- Windows Şifreleme
- Windows Communication Foundation (WCF)
- Bağlantı noktaları, ODBC, CodeDom ve daha fazlası
Paket, .NET Standard 2.0'ın üzerinde yer alır ve artımlı olarak modernleştirildiğinde özellikle yararlıdır. Uygulamanızı önce .NET üzerinde derlenir ve çalışır hâle getirmenize, ardından en başta Windows’a özgü API kullanımını yeniden yazmak zorunda kalmadan daha kapsamlı yeniden düzenleme çalışmalarını ele almanıza olanak tanır.
Projenize eklemek için NuGet paketini yükleyin Microsoft.Windows.Compatibility :
dotnet add package Microsoft.Windows.Compatibility
Tüm ayrıntılar için bkz. .NET bağlantı noktası kodu için Windows Uyumluluk Paketi'ni kullanma.
Kritik değişiklikler
İster .NET Framework'ten taşıyor ister .NET sürümleri arasında geçiş yapıyor olun, uyumluluğu bozan değişiklikler her yükseltmenin beklenen bir parçasıdır. Başlamadan önce bunları gözden geçirmek, geçişte gecikmeli sürprizleri önler. Ayrıntılı bilgi için bkz. Kodu taşırken yapılan uyumsuzluk yaratan değişiklikler.
Geriye dönük uyumluluğu bozan değişiklikler birkaç kategoriye ayrılır ve bunların tümü derleme zamanında hatalara neden olmaz:
- Davranış değişiklikleri bir API'nin çalışma zamanında nasıl çalıştığını etkiler. İmza aynı kalır, ancak çıktı, fırlatılan istisnalar veya iç işleyiş değişir. Bunlar, derleme hataları üretmedikleri için tespit edilmesi en zor olanlardır.
- İkili uyumluluk değişiklikleri, mevcut derlenmiş derlemelerin yeniden derlenmeden çalışmaya devam edip etmeyeceğini etkiler. Genel API yüzeyinin kaldırılması veya değiştirilmesi ikili uyumluluğu bozar.
- Kaynak uyumluluk değişiklikleri, daha yeni sürüme karşı başarıyla derlenebilmesi için kaynak kodu değiştirmenizi gerektirir.
- Tasarım zamanı uyumluluk değişiklikleri, projelerin Visual Studio veya diğer tasarım ortamlarında nasıl açılıp davranacağını etkiler.
.NET Framework'ten taşıma yaparken büyük bir sürüm boşluğu aşıyorsunuz, bu nedenle olası değişiklikler listesi daha uzun. .NET sürümleri arasında yükseltme yaparken (örneğin, .NET 6'dan .NET 9'a) kapsam daha dardır, ancak aradaki her sürüm uygulamanızı etkileyen değişikliklere neden olabilir. Yalnızca hedef sürümün değil, atladığınız her sürümün geriye dönük uyumluluğu bozan değişikliklerini gözden geçirin.
Windows Forms’a özgü uyumsuzluk yaratan değişiklikler, .NET Framework’ten .NET’e geçişteki uyumsuzluk yaratan değişiklikler bölümünde belgelenmiştir. Geçiş yaptığınız sürüm aralığına yönelik hataya neden olan değişiklikler başvurularını filtreleyin ve uygulamanızın kullandığı API'ler için geçerli olan girdileri gözden geçirin.
Yükseltme sonrası görevler
Uygulamanız .NET üzerinde derlenip çalıştıktan sonra, yükseltme işleminden kalan kalıntıları kaldırmak için birkaç temizleme işlemini tamamlayın.
NuGet paketlerini gözden geçirin.
Yükseltme işleminde paketler daha yeni sürümlere güncelleştirilmiş olabilir. Bu yeni sürümlerden bazıları, eski sürümlerin gerektirdiği bağımlılıkları kaldırır. Yükseltmeden sonra, güncelleştirilen her paketi denetleyin ve artık gerekli olmayan geçişli bağımlılıkları kaldırın. Derleme hatalarına neden olmayan davranış değişikliklerini yakalamak için güncelleştirilmiş paketlerin sürüm notlarını gözden geçirin.
Eski NuGet artefaktlarını temizleyin.
Projeniz NuGet başvurularını yönetmek için bir packages.config dosya kullandıysa, biçime PackageReference geçtikten sonra artık gerekli değildir. Projenizden silin. Ayrıca proje veya çözüm dizininizdeki yerel packages klasörü de silebilirsiniz; NuGet artık kullanıcı profilinizdeki genel önbellek klasöründe .nuget\packages paketleri depolar.
Referansları güncelleyinSystem.Configuration.
Çoğu .NET Framework uygulaması doğrudan System.Configuration öğesine başvurur. Yükseltmeden sonra projeniz yine de o referansı hâlâ taşıyor olabilir.
System.Configuration kitaplığı, çalışma zamanı yapılandırmasını app.config dosyasından okur. .NET'te, bunu çerçeve derlemesine doğrudan başvuru olmadan aynı API yüzeyini sağlayan System.Configuration.ConfigurationManager NuGet paketiyle değiştirin.
Yükselttikten sonra modernleştirin
Uygulamanız .NET çalıştırıldıktan sonra .NET Framework'te bulunmayan modern desenleri benimseyebilirsiniz. Yükseltmeyi tamamlamak için bu değişiklikler gerekli değildir, ancak sürdürülebilirliği artırır ve .NET etkin yatırımdan yararlanırlar. Daha geniş bir fikir kümesi için bkz. .NET Framework'ten .NET yükselttikten sonra modernleştirme.
App.config'den appsettings.json'e geçin.
.NET Framework, bağlantı dizeleri ve günlük yapılandırması gibi çalışma zamanı ayarları için App.config kullanır. .NET uygulamaları bunun yerine genellikle appsettings.json dosyasını, Microsoft.Extensions.Configuration NuGet paketi tarafından sağlanan sürümünü kullanır. Günlükleme sağlayıcıları da dahil olmak üzere birçok kitaplık, App.config desteğini appsettings.json lehine bırakmıştır. Geçiş, uygulamanızı ekosistemle uyumlu hale getirmenizi sağlar ve yeni bağımlılıklar ekledikçe yapılandırmayı basitleştirir.
App.config dosyaları, System.Configuration.ConfigurationManager NuGet paketi aracılığıyla .NET'te çalışmaya devam eder; böylece kademeli olarak geçiş yapabilirsiniz. Yönergeler için bkz. .NET yapılandırma.
WebBrowser denetimini WebView2 (WPF) ile değiştirin.
WebBrowser denetimi, artık desteklenmeyen Internet Explorer’ı temel alır. .NET için WPF bunun yerine Microsoft Edge temelinde denetimi kullanabilirWebView2.
WebView2 gelişmiş performans, güvenlik ve web standartları desteğiyle modern, etkin bir şekilde korunan bir tarayıcı denetimi sağlar.
Microsoft.Web.WebView2 NuGet paketini projenize ekleyin. Kullanıcının çalıştırdığı Windows sürümüne bağlı olarak, WebView2 çalışma zamanını ayrı olarak yüklemesi gerekebilir. Daha fazla bilgi için bkz. Microsoft Edge WebView2'ye giriş.
İlgili içerik
- Windows Forms uygulamasını GitHub Copilot ile .NET yükseltme
- .NET Framework'ten .NET'a bağlantı noktası
- .NET 6+ üzerinde kullanılamayan .NET Framework teknolojileri
- .NET Framework'ten geçiş için önkoşullar
- .NET uyumsuzluk yaratan değişiklikler başvuru kaynağı
- Bağlantı noktası kodu için Windows Uyumluluk Paketi'ni kullanma
.NET Desktop feedback