Migrace z rozhraní model Windows Forms .NET Framework na .NET
Tento článek popisuje, jak upgradovat desktopovou aplikaci model Windows Forms na .NET pomocí pomocníka pro upgrade .NET. model Windows Forms zůstává jen pro Windows, i když je .NET multiplatformní technologií.
Požadavky
- Operační systém Windows.
- Stáhněte a extrahujte ukázkovou aplikaci použitou v tomto článku.
- Visual Studio 2022 verze 17.12 nebo novější pro cílení na .NET 9
- Rozšíření Pomocníka pro upgrade platformy .NET pro Visual Studio
Posouzení
Než provedete upgrade, měli byste své projekty analyzovat. Provádění analýzy kódu v projektech pomocí pomocníka pro upgrade platformy .NET vygeneruje sestavu, na kterou můžete odkazovat, abyste identifikovali potenciální blokátory migrace.
Pokud chcete analyzovat projekty a vygenerovat sestavu, klikněte pravým tlačítkem na soubor řešení v Průzkumník řešení a vyberte Upgradovat. Další informace o provádění analýzy naleznete v tématu Analýza projektů pomocí pomocníka pro upgrade platformy .NET.
Migrace závislostí
Pokud upgradujete více projektů, začněte projekty, které nemají žádné závislosti. V ukázce odpovídající hry projekt MatchingGame závisí na knihovně MatchingGame.Logic, takže matchingGame.Logic by se měl nejprve upgradovat.
Tip
Nezapomeňte mít zálohu kódu, například ve správě zdrojového kódu nebo kopii.
Pomocí následujících kroků upgradujte projekt v sadě Visual Studio:
V okně Průzkumník řešení klikněte pravým tlačítkem na projekt MatchingGame.Logic a vyberte Upgradovat:
Otevře se nová karta s výzvou k výběru upgradu, který chcete provést.
Vyberte místní upgrade projektu.
Dále vyberte cílovou architekturu.
Na základě typu projektu, který upgradujete, se zobrazí různé možnosti. .NET Standard 2.0 je možné používat v rozhraní .NET Framework i .NET. To je dobrá volba, pokud knihovna nespoléhá na desktopovou technologii, jako je model Windows Forms, kterou tento projekt dělá.
Vyberte .NET 9.0 a pak vyberte Další.
Zobrazí se strom se všemi artefakty souvisejícími s projektem, jako jsou soubory kódu a knihovny. Můžete upgradovat jednotlivé artefakty nebo celý projekt, což je výchozí nastavení. Výběrem možnosti Upgradovat spustíte upgrade.
Po dokončení upgradu se zobrazí výsledky:
Artefakty s plným zeleným kruhem byly upgradovány, zatímco prázdné zelené kruhy byly vynechány. Vynechané artefakty znamenají, že pomocník s upgradem nic nenalezl.
Teď, když je upgradovaná podpůrná knihovna aplikace, upgradujte hlavní aplikaci.
Poznámky k projektům jazyka Visual Basic
Pomocník pro upgrade platformy .NET v současné době nerozpozná použití System.Configuration
v souboru nastavení vytvořeném šablonami jazyka Visual Basic v rozhraní .NET Framework. Nerespektuje také použití My
rozšíření používaných v projektech rozhraní .NET Framework, například My.Computer
a My.User
. Tato rozšíření byla odebrána v .NET. Kvůli těmto dvěma problémům se knihovna Jazyka Visual Basic po migraci pomocí pomocníka s upgradem .NET nekompiluje.
Chcete-li tento problém vyřešit, projekt musí cílit na Systém Windows a odkazovat model Windows Forms.
- Po dokončení migrace poklikejte na projekt MatchingGame.Logic v okně Průzkumník řešení.
- Vyhledejte element
<Project>/<PropertyGroup>
. - V editoru XML změňte hodnotu
<TargetFramework>
znet9.0
nanet9.0-windows
. - Přidat
<UseWindowsForms>true</UseWindowsForms>
na řádek za<TargetFramework>
.
Nastavení projektu by mělo vypadat jako následující fragment kódu:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<OutputType>Library</OutputType>
<MyType>Windows</MyType>
... other settings removed for brevity ...
Migrace hlavního projektu
Po upgradu všech podpůrných knihoven je možné upgradovat hlavní projekt aplikace. V ukázkové aplikaci existuje pouze jeden projekt knihovny, který se upgradoval v předchozí části.
- V okně Průzkumník řešení klikněte pravým tlačítkem na projekt MatchingGame a vyberte Upgradovat:
- Vyberte místní upgrade projektu.
- Vyberte .NET 9.0 pro cílovou architekturu a vyberte Další.
- Ponechte všechny vybrané artefakty a vyberte Upgradovat výběr.
Po dokončení upgradu se zobrazí výsledky. Všimněte si, jak má projekt model Windows Forms symbol upozornění. Rozbalení této položky a další informace o daném kroku:
Všimněte si, že komponenta upgradu projektu uvádí, že se změnilo výchozí písmo. Vzhledem k tomu, že písmo může mít vliv na rozložení ovládacího prvku, musíte zkontrolovat každý formulář a vlastní ovládací prvek v projektu, aby se zajistilo správné uspořádání uživatelského rozhraní.
Vygenerování čistého sestavení
Po upgradu hlavního projektu ho vyčistěte a zkompilujte.
- V okně Průzkumník řešení klikněte pravým tlačítkem myši na projekt MatchingGame a vyberte Vyčistit.
- V okně Průzkumník řešení klikněte pravým tlačítkem na projekt MatchingGame a vyberte Sestavit.
Pokud vaše aplikace zjistila nějaké chyby, můžete je najít v okně Seznam chyb s doporučením, jak je opravit.
Projekt model Windows Forms Matching Game Sample je nyní upgradován na .NET 9.
Prostředí po upgradu
Pokud portujete aplikaci z rozhraní .NET Framework do .NET, přečtěte si článek o modernizaci po upgradu na .NET z rozhraní .NET Framework .
Související obsah
Přenos z rozhraní .NET Framework do .NET
Průvodce portováním poskytuje přehled toho, co byste měli zvážit při přenosu kódu z rozhraní .NET Framework do .NET. Složitost projektů určuje, kolik práce provedete po počáteční migraci souborů projektu.
Po upgradu na .NET z rozhraní .NET Framework se modernizuje.
Svět .NET se od rozhraní .NET Framework hodně změnil. Tento odkaz obsahuje některé informace o tom, jak po upgradu aplikaci modernizovat.
.NET Desktop feedback