Aracılığıyla paylaş


.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:

  1. Yükseltilen uygulamanız tarafından başvuruldıysa System.Configuration.ConfigurationManager NuGet paketini veya kitaplığını kaldırın.

  2. Microsoft.Extensions.Configuration.Json NuGet paketini ekleyin.

  3. appsettings.jsonadlı bir dosya oluşturun.

    1. Çözüm Gezgini içindeki proje dosyasına sağ tıklayın ve Ekle>yeni öğeseçeneğini seçin.
    2. Arama kutusuna jsongirin.
    3. JavaScript JSON Yapılandırma Dosyası şablonunu seçin ve Adıappsettings.jsonolarak ayarlayın.
    4. Yeni dosyayı projeye eklemek için Ekle'ye basın.
  4. Çı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
  5. 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çin Program.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, Configadlı 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
    
  6. Kodunuzun geri kalanını yeni yapılandırma API'lerini kullanacak şekilde güncelleştirin.

  7. 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.