Sdílet prostřednictvím


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

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:

  1. V okně Průzkumník řešení klikněte pravým tlačítkem na projekt MatchingGame.Logic a vyberte Upgradovat:

    Snímek obrazovky s položkou nabídky Upgrade Pomocníka pro upgrade platformy .NET v sadě Visual Studio

    Otevře se nová karta s výzvou k výběru upgradu, který chcete provést.

  2. Vyberte místní upgrade projektu.

    Snímek obrazovky s kartou Pomocník s upgradem na .NET Možnost Místní upgrade projektu je zvýrazněná.

  3. 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ší.

    Snímek obrazovky s pomocníkem pro upgrade .NET Výzva cílové architektury je otevřená a .NET 8 je zvýrazněná společně s tlačítkem Další.

  4. 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.

    Snímek obrazovky s pomocníkem pro upgrade .NET Otevře se stránka Vybrat součásti se zvýrazněným tlačítkem Upgradovat výběr.

  5. Po dokončení upgradu se zobrazí výsledky:

    Snímek obrazovky s kartou s výsledky upgradu pomocníka pro upgrade platformy .NET zobrazující migrované položky z projektu

    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.

  1. Po dokončení migrace poklikejte na projekt MatchingGame.Logic v okně Průzkumník řešení.
  2. Vyhledejte element <Project>/<PropertyGroup>.
  3. V editoru XML změňte hodnotu <TargetFramework> z net9.0 na net9.0-windows.
  4. 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.

  1. V okně Průzkumník řešení klikněte pravým tlačítkem na projekt MatchingGame a vyberte Upgradovat:
  2. Vyberte místní upgrade projektu.
  3. Vyberte .NET 9.0 pro cílovou architekturu a vyberte Další.
  4. 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:

Snímek obrazovky s kartou s výsledky upgradu Pomocníka pro upgrade .NET zobrazující některé položky výsledků mají symboly upozornění.

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.

  1. V okně Průzkumník řešení klikněte pravým tlačítkem myši na projekt MatchingGame a vyberte Vyčistit.
  2. 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 .