Modernisasi setelah memutakhirkan ke .NET dari .NET Framework
Dalam artikel ini, Anda akan mempelajari berbagai cara untuk memodernisasi aplikasi setelah ditingkatkan dari .NET Framework ke .NET. Gunakan alat .NET Upgrade Assistant untuk meningkatkan aplikasi Anda ke .NET.
API hilang
Saat meningkatkan aplikasi .NET Framework, Anda kemungkinan besar akan memiliki beberapa ketidaksesuaian. Ini karena .NET Framework adalah teknologi khusus Windows dan .NET adalah teknologi lintas platform. Beberapa pustaka tidak. Misalnya, .NET tidak menyediakan API siap pakai untuk mengakses Registri Windows seperti .NET Framework. Dukungan untuk Windows Registry disediakan oleh Microsoft.Win32.Registry
paket NuGet. Banyak pustaka khusus .NET Framework telah di-port ke .NET atau .NET Standard, dan dihosting di NuGet. Jika Anda menemukan referensi yang hilang di proyek Anda, cari NuGet.
Paket Kompatibilitas Windows
Jika setelah migrasi, Anda memiliki beberapa dependensi pada .NET Framework API yang tidak didukung pada versi baru .NET, Anda mungkin menemukannya dalam Microsoft.Windows.Compatibility
paket NuGet. Ini menambahkan sekitar 20.000 API ke proyek .NET Anda, secara signifikan meningkatkan set API yang tersedia untuk proyek Anda. API ini mencakup API khusus Windows seperti yang terkait dengan Windows Management Instrumentation (WMI) dan Windows EventLog. Untuk informasi selengkapnya, lihat Menggunakan Paket Kompatibilitas Windows untuk kode port ke .NET
Kontrol browser web
Proyek yang menargetkan teknologi desktop Windows, seperti Windows Presentation Foundation atau Formulir Windows, mungkin menyertakan kontrol browser web. Kontrol browser web yang disediakan kemungkinan besar dirancang sebelum HTML5 dan teknologi web modern lainnya dan dianggap usang. Microsoft menerbitkan Microsoft.Web.WebView2
paket NuGet sebagai pengganti kontrol browser web modern.
App.config
.NET Framework menggunakan file App.config untuk memuat pengaturan untuk aplikasi Anda, seperti string koneksi dan konfigurasi penyedia log. .NET modern menggunakan file appsettings.json untuk pengaturan aplikasi. Versi CLI dari Asisten Peningkatan menangani konversi file App.config ke appsettings.json, tetapi ekstensi Visual Studio tidak.
Tip
Jika Anda tidak ingin menggunakan file appsettings.json , Anda dapat menambahkan System.Configuration.ConfigurationManager
paket NuGet ke aplikasi Anda dan kode Anda akan mengkompilasi dan menggunakan file App.config .
Meskipun appsettings.json adalah cara modern untuk menyimpan dan mengambil pengaturan dan string koneksi, aplikasi Anda masih memiliki kode yang menggunakan file App.config. Saat aplikasi Anda dimigrasikan, System.Configuration.ConfigurationManager
paket NuGet ditambahkan ke proyek sehingga kode Anda menggunakan file App.config terus dikompilasi.
Saat pustaka ditingkatkan ke .NET, pustaka tersebut memodernisasi dengan mendukung appsettings.json alih-alih App.config. Misalnya, penyedia pengelogan di .NET Framework yang telah ditingkatkan untuk .NET 6+ tidak lagi menggunakan App.config untuk pengaturan. Ada baiknya Anda mengikuti arahnya dan juga menjauh dari menggunakan App.config.
Dukungan untuk appsettings.json disediakan oleh Microsoft.Extensions.Configuration
paket NuGet.
Lakukan langkah-langkah berikut untuk menggunakan file appsettings.json sebagai penyedia konfigurasi Anda:
Hapus paket atau pustaka NuGet jika dirujuk
System.Configuration.ConfigurationManager
oleh aplikasi yang ditingkatkan.Microsoft.Extensions.Configuration.Json
Tambahkan paket NuGet.Buat file bernama appsettings.json.
- Klik kanan pada file proyek di jendela Penjelajah Solusi dan pilih Tambahkan>Item Baru....
- Di kotak pencarian, masukkan
json
. - Pilih templat File Konfigurasi JSON JavaScript dan atur Nama ke appsettings.json.
- Tekan Tambahkan untuk menambahkan file baru ke proyek.
Atur file appsettings.json untuk disalin ke direktori output.
Di jendela Penjelajah Solusi, temukan file appsettings.json dan atur Properti berikut:
- Tindakan Build: Konten
- Salin ke Direktori Output: Salin selalu
Dalam kode startup aplikasi, Anda perlu memuat file pengaturan.
Kode startup untuk aplikasi Anda bervariasi berdasarkan jenis proyek Anda. Misalnya, aplikasi WPF menggunakan
App.xaml.cs
file untuk penyiapan global dan aplikasi Formulir Windows menggunakanProgram.Main
metode untuk startup. Terlepas dari itu, Anda perlu melakukan dua hal saat startup:internal static
Buat anggota (Friend Shared
di Visual Basic) yang dapat diakses dari mana saja di aplikasi Anda.- Selama startup, tetapkan instans ke anggota tersebut.
Contoh berikut membuat anggota bernama
Config
, menetapkan instans dalamMain
metode , dan memuat string koneksi: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
Perbarui sisa kode Anda untuk menggunakan API konfigurasi baru.
Hapus file App.config dari proyek.
Perhatian
Pastikan aplikasi Anda berjalan dengan benar tanpa file App.config . Cadangkan file App.config melalui kontrol sumber atau dengan menyalin file di tempat lain. Setelah menguji aplikasi secara menyeluruh, hapus file App.config .