Sdílet prostřednictvím


Migrace z 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

Hodnocení

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 Matching Game projekt MatchingGame závisí na knihovně MatchingGame.Logic, takže MatchingGame.Logic by se měl nejprve aktualizovat.

Návod

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 položky nabídky Upgrade v Pomocníku pro upgrade platformy .NET ve Visual Studiu.

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

  2. Vyberte upgrade projektu na místě.

    Snímek obrazovky s kartou Pomocník upgradu na .NET. Možnost 'Přímý 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 položky Upgrade selection spusťte upgrade.

    Snímek obrazovky Pomocníka pro upgrade .NET. Stránka

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

    Snímek obrazovky záložky s výsledky upgradu z .NET Upgrade Assistant, 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. Vynechání artefaktů znamená, že pomocník pro upgrade nic k upgradu 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 na platformě .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í být zaměřen na Windows a používat 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 upgrade projektu na místě.
  3. Vyberte .NET 9.0 pro cílovou architekturu a vyberte Další.
  4. Nechte všechny artefakty vybrané a vyberte Aktualizovat výběr.

Po dokončení upgradu se zobrazí výsledky. Všimněte si, jak má projekt Windows Forms varovný symbol. Rozbalte tuto položku a zobrazí se více informací o tomto kroku.

Snímek obrazovky karty výsledků upgradu Pomocníka pro upgrade .NET, zobrazující některé položky výsledků mající 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í.

Vytvořte čisté 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 Windows Forms Matching Game Sample je nyní aktualizován na .NET 9.

Zkušenost 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 .