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 makalede, .NET Framework'ten .NET'e yükseltildikten sonra uygulamanızı modernleştirmenin farklı yollarını öğreneceksiniz. Uygulamanızı .NET'e yükseltmek için GitHub Copilot uygulama modernleştirme yardımcısını kullanın.
Eksik API'ler
Bir .NET Framework uygulamasını yükseltirken büyük olasılıkla bazı uyumsuzluklarınız olacaktır. Bunun nedeni .NET Framework'ün yalnızca Windows teknolojisi, .NET'in ise platformlar arası bir teknoloji olmasıdır. Bazı kütüphaneler öyle değil. Örneğin. .NET, .NET Framework'ün yaptığı gibi Windows Kayıt Defteri'ne erişmek için kullanıma hazır API'ler sağlamaz. Windows Kayıt Defteri desteği, Microsoft.Win32.Registry NuGet paketi tarafından sağlanır. .NET Framework'e özgü birçok kitaplık .NET veya .NET Standard'a taşınabilir ve NuGet üzerinde barındırılır. Projenizde eksik bir başvuru bulursanız NuGet'te arama.
Windows Uyumluluk Paketi
Geçiş sonrasında yeni .NET sürümünüzde desteklenmeyen .NET Framework API'lerinde bazı bağımlılıklarınız varsa, bunları Microsoft.Windows.Compatibility NuGet paketinde bulabilirsiniz. .NET projenize yaklaşık 20.000 API ekler ve projeniz için kullanılabilir API kümesini önemli ölçüde artırır. Bu API'ler, Windows Yönetim Araçları (WMI) ve Windows EventLog ile ilgili olanlar gibi yalnızca Windows API'lerini içerir. Daha fazla bilgi için bkz. .NETbağlantı noktası kodu için Windows Uyumluluk Paketi'ni kullanma.
Web tarayıcısı denetimi
Windows Presentation Foundation veya Windows Forms gibi bir Windows masaüstü teknolojisini hedefleyen projeler bir web tarayıcısı denetimi içerebilir. Sağlanan web tarayıcısı denetimi büyük olasılıkla HTML5 ve diğer modern web teknolojilerinden önce tasarlanmıştır ve eski olarak kabul edilir. Microsoft, modern web tarayıcısı kontrol değişimi olarak Microsoft.Web.WebView2 NuGet paketini yayımlar.
App.config
.NET Framework, bağlantı dizeleri ve günlük sağlayıcısı yapılandırması gibi uygulamanızın ayarlarını yüklemek için App.config dosyasını kullanır. Modern .NET, uygulama ayarları için appsettings.json dosyasını kullanır.
Bahşiş
appsettings.json dosyasını kullanmak istemiyorsanız, System.Configuration.ConfigurationManager NuGet paketini uygulamanıza ekleyebilirsiniz; kodunuz App.config dosyasını derleyip kullanır.
appsettings.json, ayarları ve bağlantı dizelerini depolamanın ve almanın modern bir yolu olsa da, uygulamanızın App.config dosyasını kullanan kodu hala vardır. Uygulamanız taşındığında, System.Configuration.ConfigurationManager dosyasını kullanan kodunuzun derlenmeye devam etmesi için NuGet paketi projeye eklendi.
Kitaplıklar .NET'e yükseltildikçe, App.configyerine appsettings.json destekleyerek modernleştirir. Örneğin, .NET Framework'te .NET 6+ için yükseltilen günlük sağlayıcıları artık ayarlar için App.config kullanmaz. Onların yönünü takip etmek ve App.configkullanmaktan uzaklaşmak sizin için iyidir.
appsettings.json desteği Microsoft.Extensions.Configuration NuGet paketi tarafından sağlanır.
yapılandırma sağlayıcınız olarak appsettings.json dosyasını kullanmak için aşağıdaki adımları gerçekleştirin:
Yükseltilen uygulamanız tarafından başvuruldıysa
System.Configuration.ConfigurationManagerNuGet paketini veya kitaplığını kaldırın.Microsoft.Extensions.Configuration.JsonNuGet paketini ekleyin.appsettings.jsonadlı bir dosya oluşturun.
- Çözüm Gezgini içindeki proje dosyasına sağ tıklayın ve Ekle>yeni öğeseçeneğini seçin.
- Arama kutusuna
jsongirin. - JavaScript JSON Yapılandırma Dosyası şablonunu seçin ve Adıappsettings.jsonolarak ayarlayın.
- Yeni dosyayı projeye eklemek için Ekle'ye basın.
Çıkış dizinine kopyalamak için appsettings.json dosyasını ayarlayın.
Çözüm Gezginiappsettings.json dosyasını bulun ve aşağıdaki Özelliklerayarlayın:
- Derleme Eylemi: İçerik
- Çıkış Dizinine Kopyala: Her zaman kopyala
Uygulamanızın başlangıç kodunda ayarlar dosyasını yüklemeniz gerekir.
Uygulamanızın başlangıç kodu proje türünüz temelinde değişir. Örneğin, wpf uygulaması genel kurulum için
App.xaml.csdosyasını, Windows Forms uygulaması ise başlangıç içinProgram.Mainyöntemini kullanır. Ne olursa olsun başlangıçta iki şey yapmanız gerekir:- Uygulamanızın herhangi bir yerinden erişilebilen bir
internal static( Visual Basic'teFriend Shared) üyesi oluşturun. - Başlangıç sırasında bu üyeye bir örnek atayın.
Aşağıdaki örnek,
Configadlı bir üye oluşturur,Mainyönteminde bir örnek atar ve bir bağlantı dizesi yükler:using Microsoft.Extensions.Configuration; internal class Program { internal static IConfiguration Config { get; private set; } private static void Main(string[] args) { Config = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build(); // Use the config file to get a connection string. string? myConnectionString = Config.GetConnectionString("database"); // Run the rest of your app. } }Imports Microsoft.Extensions.Configuration Module Program Private _config As IConfiguration ' Shared not required since Program is a Module Friend Property Config As IConfiguration Get Return _config End Get Private Set(value As IConfiguration) _config = value End Set End Property Sub Main(args As String()) Config = New ConfigurationBuilder() _ .AddJsonFile("appsettings.json") _ .Build() ' Use the config file to get a connection string Dim myConnectionString As String = Config.GetConnectionString("database") ' Run the rest of your app End Sub End Module- Uygulamanızın herhangi bir yerinden erişilebilen bir
Kodunuzun geri kalanını yeni yapılandırma API'lerini kullanacak şekilde güncelleştirin.
projeden App.config dosyasını silin.
Dikkat
Uygulamanızın App.config dosyası olmadan doğru çalıştığından emin olun. kaynak denetimi aracılığıyla veya dosyayı başka bir yere kopyalayarak App.config dosyasını yedekleyin. Uygulamanızı kapsamlı bir şekilde test ettikten sonra App.config dosyasını silin.