Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ebben a cikkben megismerheti, hogyan modernizálhatja az alkalmazást a .NET-keretrendszerről a .NET-re való frissítés után. Az alkalmazás .NET-re való frissítéséhez használja a GitHub Copilot alkalmazáskorszerűsítési segédet.
Hiányzó API-k
A .NET-keretrendszer alkalmazásának frissítésekor valószínűleg inkompatibilitások is előfordulhatnak. Ennek az az oka, hogy a .NET-keretrendszer csak Windows rendszerű technológia, a .NET pedig platformfüggetlen technológia. Egyes könyvtárak nem. A .NET például nem biztosít beépített API-kat a Windows-beállításjegyzék eléréséhez, ahogyan a .NET-keretrendszer tette. A Windows-beállításjegyzék támogatását a Microsoft.Win32.Registry NuGet-csomag biztosítja. Számos .NET-keretrendszer-specifikus kódtárat portoltunk a .NET-be vagy a .NET Standardba, és a NuGeten vannak tárolva. Ha hiányzó hivatkozást talál a projektben, keressen rá a NuGetben.
Windows kompatibilitási csomag
Ha az áttelepítés után bizonyos függőségei vannak a .NET-keretrendszer API-kkal kapcsolatban, amelyeket nem támogatnak a .NET új verziójában, előfordulhat, hogy a Microsoft.Windows.Compatibility NuGet-csomag-ban megtalálja őket. Körülbelül 20 000 API-t ad hozzá a .NET-projekthez, jelentősen növelve a projekt számára elérhető API-készletet. Ezek az API-k csak Windows rendszerű API-k, például a Windows Management Instrumentation (WMI) és a Windows EventLog szolgáltatáshoz kapcsolódó API-k. További információkért lásd: A Windows kompatibilitási csomag használata a kód áttéréséhez a .NET-re.
Webböngésző vezérlőelem
A Windows asztali technológiára (például a Windows Presentation Foundationre vagy a Windows Formsra) irányuló projektek böngészővezérlőt is tartalmazhatnak. A webböngésző által biztosított vezérlő valószínűleg a HTML5 és más modern webtechnológiák előtt lett kialakítva, és elavultnak tekinthető. A Microsoft a Microsoft.Web.WebView2 NuGet-csomagot publikálja a modern böngészővezérlő helyettesítésére.
App.config
A .NET-keretrendszer a App.config fájllal tölti be az alkalmazás beállításait, például a kapcsolati sztringeket és a naplószolgáltató konfigurációját. A modern .NET a appsettings.json fájlt használja az alkalmazásbeállításokhoz.
Borravaló
Ha nem szeretné használni a appsettings.json fájlt, hozzáadhatja a System.Configuration.ConfigurationManager NuGet-csomagot az alkalmazáshoz, és a kód lefordítja és használja a App.config fájlt.
Annak ellenére, hogy a appsettings.json a beállítások és a kapcsolati sztringek tárolásának és lekérésének modern módja, az alkalmazás továbbra is rendelkezik a App.config fájlt használó kóddal. Az alkalmazás migrálása után a System.Configuration.ConfigurationManager NuGet-csomag hozzá lett adva a projekthez, hogy a App.config fájlt használó kód továbbra is lefordítva legyen.
A könyvtárak a .NET-re való frissítésével modernizálódnak azáltal, hogy a App.confighelyett a appsettings.json támogatják. Például a .NET keretrendszerben a .NET 6+-ra frissített naplózási szolgáltatók már nem használják a App.config a beállításokhoz. Jót tesz önnek, ha követi az irányukat, és eltávolodik a App.confighasználatától.
A appsettings.json a Microsoft.Extensions.Configuration NuGet-csomag támogatja.
A appsettings.json fájl konfigurációszolgáltatóként való használatához hajtsa végre az alábbi lépéseket:
Ha a frissített alkalmazás hivatkozik rá, távolítsa el a
System.Configuration.ConfigurationManagerNuGet-csomagot vagy -tárat.Adja hozzá a
Microsoft.Extensions.Configuration.JsonNuGet-csomagot.Hozzon létre egy appsettings.jsonnevű fájlt.
- Kattintson a jobb gombbal a projektfájlra Megoldáskezelő, és válassza >Új elem hozzáadásalehetőséget.
- A keresőmezőbe írja be a
json. - Válassza ki a JavaScript JSON-konfigurációs fájl sablont, és állítsa a Névappsettings.jsonértékre.
- Nyomja meg a gombot, majd nyomja meg a gombot az új fájl projektbe való hozzáadásához.
Állítsa be a appsettings.json fájlt a kimeneti könyvtárba való másoláshoz.
A Megoldáskezelő-ben keresse meg a appsettings.json fájlt, és állítsa be a következő Tulajdonságok-at:
- buildelési művelet: Tartalom
- Másolás kimeneti könyvtárba: Másolás mindig
Az alkalmazás indítási kódjában be kell töltenie a beállításfájlt.
Az alkalmazás indítási kódja a projekt típusától függően változik. Egy WPF-alkalmazás például a
App.xaml.csfájlt használja a globális beállításhoz, egy Windows Forms-alkalmazás pedig aProgram.Mainmetódust használja az indításhoz. Ettől függetlenül két dolgot kell elvégeznie az indításkor:- Hozzon létre egy
internal static(Friend Shareda Visual Basicben) tagot, amely az alkalmazás bármely pontjáról elérhető. - Az indítás során rendeljen hozzá egy példányt az adott taghoz.
Az alábbi példa létrehoz egy
Confignevű tagot, hozzárendel egy példányt aMainmetódusban, és betölt egy kapcsolati sztringet: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- Hozzon létre egy
Frissítse a kód többi részét az új konfigurációs API-k használatára.
Törölje a App.config fájlt a projektből.
Vigyázat
Győződjön meg arról, hogy az alkalmazás megfelelően fut a App.config fájl nélkül. Készítsen biztonsági másolatot a App.config fájlról a forrásvezérlőn keresztül, vagy másolja a fájlt máshová. Az alkalmazás alapos tesztelése után törölje a App.config fájlt.