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

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

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

  3. appsettings.json adlı bir dosya oluşturun.

    1. Çözüm Gezgini penceresinde proje dosyasına sağ tıklayın ve Yeni Öğe Ekle...'yi>seçin.
    2. Arama kutusuna json yazın.
    3. JavaScript JSON Yapılandırma Dosyası şablonunu seçin ve Ad'ı appsettings.json olarak 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 Gezgini penceresinde appsettings.json dosyasını bulun ve aşağıdaki Özellikler'i ayarlayı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 dosyasını, App.xaml.cs Windows Forms uygulaması ise başlangıç için yöntemini kullanır Program.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ı Configbir üye oluşturur, yönteminde Main 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. 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.