Modernizace po upgradu na .NET z rozhraní .NET Framework
V tomto článku se dozvíte o různých způsobech modernizace aplikace po upgradu z rozhraní .NET Framework na .NET. Pomocí nástroje .NET Upgrade Assistant upgradujte aplikaci na .NET.
Chybějící rozhraní API
Při upgradu aplikace .NET Framework budete pravděpodobně mít určité nekompatibility. Je to proto, že .NET Framework je technologie pouze pro Windows a .NET je multiplatformní technologie. Některé knihovny nejsou. Například rozhraní .NET neposkytuje předefinovaná rozhraní API pro přístup k registru Windows, jako je .NET Framework. Podpora registru Systému Windows je poskytována balíčkem Microsoft.Win32.Registry
NuGet. Mnoho knihoven specifických pro rozhraní .NET Framework bylo portováno do .NET nebo .NET Standard a je hostováno na NuGetu. Pokud v projektu najdete chybějící odkaz, vyhledejte NuGet.
Windows Compatibility Pack
Pokud po migraci máte určité závislosti na rozhraních .NET Framework API, která nejsou podporována ve vaší nové verzi .NET, můžete je najít v Microsoft.Windows.Compatibility
balíčku NuGet. Do projektu .NET přidává přibližně 20 000 rozhraní API, což výrazně zvyšuje sadu rozhraní API dostupnou pro váš projekt. Tato rozhraní API zahrnují rozhraní API pouze pro Windows, jako jsou rozhraní API související se službou Windows Management Instrumentation (WMI) a protokolem událostí systému Windows. Další informace naleznete v tématu Použití sady Windows Compatibility Pack k přenosu kódu do .NET.
Ovládací prvek webového prohlížeče
Projekty, které cílí na desktopovou technologii Windows, jako je Windows Presentation Foundation nebo model Windows Forms, můžou obsahovat ovládací prvek webového prohlížeče. Poskytnutý ovládací prvek webového prohlížeče byl pravděpodobně navržen před HTML5 a dalšími moderními webovými technologiemi a je považován za zastaralý. Microsoft publikuje balíček NuGet jako nahrazení moderního Microsoft.Web.WebView2
ovládacího prvku webového prohlížeče.
App.config
.NET Framework používá soubor App.config k načtení nastavení pro vaši aplikaci, jako jsou připojovací řetězec a konfigurace zprostředkovatele protokolu. Moderní .NET používá soubor appsettings.json pro nastavení aplikace. Verze rozhraní příkazového řádku Pomocníka pro upgrade zpracovává převod souborů App.config na appsettings.json, ale rozšíření sady Visual Studio ne.
Tip
Pokud nechcete soubor appsettings.json používat, můžete do aplikace přidat System.Configuration.ConfigurationManager
balíček NuGet a kód se zkompiluje a použije soubor App.config.
I když appsettings.json je moderní způsob ukládání a načítání nastavení a připojovací řetězec, vaše aplikace stále obsahuje kód, který používá soubor App.config. Po migraci System.Configuration.ConfigurationManager
aplikace se do projektu přidal balíček NuGet, aby se váš kód pomocí souboru App.config dál kompiloval.
Při upgradu knihoven na .NET se modernizuje podporou appsettings.json místo App.config. Například zprostředkovatelé protokolování v rozhraní .NET Framework, které byly upgradovány pro .NET 6 nebo novější, už pro nastavení nepoužívají App.config . Je vhodné postupovat podle jejich směru a také se odejít z app.config.
Podporu appsettings.json poskytuje Microsoft.Extensions.Configuration
balíček NuGet.
Provedením následujících kroků použijte appsettings.json soubor jako poskytovatele konfigurace:
Pokud odkazuje vaše upgradovaná aplikace, odeberte balíček Nebo knihovnu
System.Configuration.ConfigurationManager
NuGet.Microsoft.Extensions.Configuration.Json
Přidejte balíček NuGet.Vytvořte soubor s názvem appsettings.json.
- Klikněte pravým tlačítkem na soubor projektu v okně Průzkumník řešení a vyberte Přidat>novou položku....
- Do vyhledávacího pole zadejte
json
. - Vyberte šablonu konfiguračního souboru JSON javascriptu a nastavte název na appsettings.json.
- Stisknutím klávesy Přidat přidejte nový soubor do projektu.
Nastavte soubor appsettings.json tak, aby se zkopíroval do výstupního adresáře.
V okně Průzkumník řešení vyhledejte soubor appsettings.json a nastavte následující vlastnosti:
- Akce sestavení: Obsah
- Kopírovat do výstupního adresáře: Kopírovat vždy
Ve spouštěcím kódu aplikace musíte načíst soubor nastavení.
Spouštěcí kód aplikace se liší podle typu projektu. Aplikace WPF například používá
App.xaml.cs
soubor pro globální nastavení a aplikace model Windows Forms používá metoduProgram.Main
pro spuštění. Bez ohledu na to, že při spuštění musíte udělat dvě věci:- Vytvořte člena
internal static
(Friend Shared
v jazyce Visual Basic), ke kterému máte přístup odkudkoli v aplikaci. - Během spuštění přiřaďte instanci danému členu.
Následující příklad vytvoří člen s názvem
Config
, přiřadí ho instanci vMain
metodě a načte připojovací řetězec: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
- Vytvořte člena
Aktualizujte zbývající část kódu tak, aby používala nová rozhraní API konfigurace.
Odstraňte soubor App.config z projektu.
Upozornění
Ujistěte se, že aplikace funguje správně bez souboru App.config . Zálohujte soubor App.config prostřednictvím správy zdrojového kódu nebo zkopírujte soubor jinam. Po důkladném otestovaní aplikace odstraňte soubor App.config .