.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ı kitaplıklar değildir. Ö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 NuGet paketi tarafından Microsoft.Win32.Registry
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ı NuGet paketinde Microsoft.Windows.Compatibility
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 . .NET'e bağlantı noktası kodu göndermek 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, NuGet paketini modern web tarayıcısı denetimi değişimi olarak yayımlar.Microsoft.Web.WebView2
Config
.NET Framework, uygulamanızın bağlantı dizesi ve günlük sağlayıcısı yapılandırması gibi 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ın appsettings.json dönüştürülmesini işler, ancak Visual Studio uzantısı bunu yapmaz.
İpucu
appsettings.json dosyasını kullanmak istemiyorsanız NuGet paketini uygulamanıza ekleyebilirsinizSystem.Configuration.ConfigurationManager
; kodunuz App.config dosyasını derleyip kullanır.
appsettings.json, ayarları ve bağlantı dizesi depolamanın ve almanın modern yolu olsa da, uygulamanızın app.config dosyasını kullanan kodu hala vardır. Uygulamanız geçirildiğinde, System.Configuration.ConfigurationManager
App.config dosyasını kullanan kodunuzun derlenmeye devam etmesi için NuGet paketi projeye eklendi.
Kitaplıklar .NET'e yükseltildikçe App.config yerine 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ü izlemeniz ve App.config'i kullanmaktan uzaklaşmanız iyi olur.
appsettings.json desteği NuGet paketi tarafından Microsoft.Extensions.Configuration
sağlanır.
appsettings.json dosyasını yapılandırma sağlayıcınız olarak kullanmak için aşağıdaki adımları gerçekleştirin:
Yükseltilen
System.Configuration.ConfigurationManager
uygulamanız tarafından başvuruldıysa NuGet paketini veya kitaplığını kaldırın.Microsoft.Extensions.Configuration.Json
NuGet paketini ekleyin.appsettings.json adlı bir dosya oluşturun.
- Çözüm Gezgini penceresinde proje dosyasına sağ tıklayın ve Yeni Öğe Ekle...'yi>seçin.
- Arama kutusuna
json
yazın. - JavaScript JSON Yapılandırma Dosyası şablonunu seçin ve Ad'ı appsettings.json olarak 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 Gezgini penceresinde appsettings.json dosyasını bulun ve aşağıdaki Özellikler'i ayarlayı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 dosyasını,
App.xaml.cs
Windows Forms uygulaması ise başlangıç için yöntemini kullanırProgram.Main
. Ne olursa olsun başlangıçta iki şey yapmanız gerekir:- Uygulamanızın herhangi bir yerinden erişilebilen bir
internal static
(Friend Shared
Visual Basic'te) üye oluşturun. - Başlangıç sırasında bu üyeye bir örnek atayın.
Aşağıdaki örnek adlı
Config
bir üye oluşturur, yöntemindeMain
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.
App.config dosyasını projeden silin.
Dikkat
Uygulamanızın App.config dosyası olmadan doğru çalıştığından emin olun. App.config dosyasını kaynak denetimi aracılığıyla veya dosyayı başka bir yere kopyalayarak yedekleyin. Uygulamanızı kapsamlı bir şekilde test ettikten sonra App.config dosyasını silin.