.NET Framework'ten .NET'e yükselttikten sonra modernleştirme
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 .NET Yükseltme Yardımcısı aracı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. Yükseltme Yardımcısı'nın CLI sürümü, App.config dosyalarını appsettings.jsondönüştürme işlemini işler, ancak Visual Studio uzantısı bunu yapmaz.
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, App.config dosyasını kullanan kodunuzun derlenmeye devam etmesi için System.Configuration.ConfigurationManager
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.ConfigurationManager
NuGet paketini veya kitaplığını kaldırın.Microsoft.Extensions.Configuration.Json
NuGet 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
json
girin. - 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.cs
dosyasını, Windows Forms uygulaması ise başlangıç içinProgram.Main
yö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,
Config
adlı bir üye oluşturur,Main
yö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.