Overzicht van de .NET-upgradeassistent

Nieuwe versies van .NET worden het hele jaar door uitgebracht, met een grote release eenmaal per jaar. Met de .NET Upgrade Assistant kunt u apps upgraden van eerdere versies van .NET, .NET Core en .NET Framework naar de nieuwste versie.

De .NET Upgrade Assistant is een Visual Studio-extensie en opdrachtregelprogramma dat is ontworpen om te helpen bij het upgraden van apps naar de nieuwste versie van .NET.

Problemen met betrekking tot de .NET-upgradeassistent kunnen worden opgeslagen in Visual Studio door Een probleem te selecteren bij het verzenden van feedbackrapport>.>

De upgradeassistent installeren

De .NET Upgrade Assistant kan worden geïnstalleerd als een Visual Studio-extensie of als een .NET-opdrachtregelprogramma. Zie De .NET-upgradeassistent installeren voor meer informatie.

Ondersteunde talen

De volgende codetalen worden ondersteund:

  • C#
  • Visual Basic

Ondersteunde projecten

De volgende typen projecten worden ondersteund:

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • Klassebibliotheken
  • Console-apps
  • SYSTEEMEIGEN .NET UWP
  • Xamarin Forms
  • .NET MAUI

Upgradepaden

De volgende upgradepaden worden ondersteund:

  • .NET Framework naar .NET
  • .NET Core naar .NET
  • UWP naar WinUI 3
  • Vorige .NET-versie naar de nieuwste .NET-versie
  • Azure Functions v1-v3 naar v4 geïsoleerd
  • Xamarin Forms naar .NET MAUI
    • XAML-bestandstransformaties bieden alleen ondersteuning voor het upgraden van naamruimten. Gebruik Visual Studio 2022 versie 17.6 of hoger voor uitgebreidere transformaties.

Upgrade uitvoeren met de Visual Studio-extensie

Nadat u de extensie .NET Upgrade Assistant hebt geïnstalleerd, klikt u met de rechtermuisknop op het project in het Solution Explorer-venster en selecteert u Upgraden.

Let op

Zorg ervoor dat u een back-up maakt van uw projecten voordat u een upgrade uitvoert als u geen broncodebeheer gebruikt.

The .NET Upgrade Assistant's Upgrade menu item in Visual Studio.

Er wordt een tabblad geopend dat, op basis van uw projecttype, verschillende stijlen voor upgrade biedt:

  • In-place projectupgrade

    Met deze optie wordt uw project bijgewerkt zonder een kopie te maken.

  • Projectupgrade naast elkaar

    Kopieert uw project en werkt de kopie bij, waardoor uw oorspronkelijke project alleen blijft.

  • Incrementeel naast elkaar

    Een goede keuze voor gecompliceerde web-apps. Het upgraden van ASP.NET naar ASP.NET Core vereist nogal wat werk en soms handmatige herstructurering. In deze modus wordt een .NET-project naast uw bestaande .NET Framework-project geplaatst en worden eindpunten gerouteerd die zijn geïmplementeerd in het .NET-project, terwijl alle andere aanroepen naar de .NET Framework-toepassing worden verzonden.

    Met deze modus kunt u uw ASP.NET- of bibliotheek-app stapsgewijs upgraden.

Zodra uw app is bijgewerkt, wordt er een statusscherm weergegeven waarin alle artefacten worden weergegeven die betrekking hebben op uw project dat is gekoppeld aan de upgrade. Elk upgradeartefact kan worden uitgebreid voor meer informatie over de status. In de volgende lijst worden de statuspictogrammen beschreven:

  • Ingevuld groen vinkje: het artefact is bijgewerkt en voltooid.
  • Niet-ingevuld groen vinkje: het hulpprogramma heeft niets gevonden over het artefact dat moet worden bijgewerkt.
  • Geel waarschuwingsteken: het artefact is bijgewerkt, maar er is belangrijke informatie die u moet overwegen.
  • Red X: Het artefact moet worden bijgewerkt, maar de upgrade is mislukt.

The .NET Upgrade Assistant's Upgrade results tab in Visual Studio.

Daarnaast worden de acties die de upgradeassistent heeft uitgevoerd, vastgelegd in het uitvoervenster onder de bron upgradeassistent , zoals wordt weergegeven in de volgende afbeelding:

The output window in Visual Studio showing the results from the .NET Upgrade Assistant.

Na het upgraden van uw project moet u het grondig testen.

Upgrade uitvoeren met het CLI-hulpprogramma

Nadat u het CLI-hulpprogramma .NET Upgrade Assistant hebt geïnstalleerd, opent u een terminalvenster en gaat u naar de map met het project dat u wilt upgraden. U kunt de upgrade-assistant --help opdracht gebruiken om de beschikbare opties te bekijken die de CLI biedt.

Let op

Zorg ervoor dat u een back-up maakt van uw projecten voordat u een upgrade uitvoert als u geen broncodebeheer gebruikt.

Voer het hulpprogramma uit met de upgrade-assistant upgrade opdracht, alle projecten uit de huidige map en hieronder, worden weergegeven. Het CLI-hulpprogramma biedt een interactieve manier om te kiezen welk project u wilt upgraden. Gebruik de pijltoetsen om een item te selecteren en druk op Enter om het item uit te voeren. Selecteer het project dat u wilt upgraden. In het voorbeeld van dit artikel bevinden zich vier projecten onder de huidige map:

 Selected options
───────────────────────────────────────────────────────────
 No options specified, follow steps below to continue

 Steps
─────────────────
 Source project
─────────────────

Which project do you want to upgrade (found 9)?

> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
  MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
  StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
  WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)

  Navigation
    Exit

Afhankelijk van het project dat u bijwerkt, krijgt u mogelijk een optie te zien om op te geven hoe de upgrade moet worden voortgezet:

  • In-place projectupgrade

    Met deze optie wordt uw project bijgewerkt zonder een kopie te maken.

  • Projectupgrade naast elkaar

    Deze optie is alleen beschikbaar voor .NET Framework-projecten. Kopieert uw project en werkt de kopie bij, waardoor uw oorspronkelijke project alleen blijft.

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\winforms\MatchingGame\MatchingGame.csproj

 Steps
───────────────────────────────
 Source project / Upgrade type
───────────────────────────────

How do you want to upgrade project MatchingGame?

> In-place project upgrade
  Side-by-side project upgrade

  Navigation
    Back
    Exit

Als er na deze stap meer dan één upgradable doelframework is, kiest u een doel:

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
 Ugrade type        Inplace

 Steps
──────────────────────────────────────────────────
 Source project / Ugrade type / Target framework
──────────────────────────────────────────────────

What is your preferred target framework?

> .NET 6.0 (Supported until November, 2024)
  .NET 7.0 (Supported until May, 2024)
  .NET 8.0 (Try latest preview features)

  Navigation
    Back
    Exit

Na het upgraden van uw project moet u het grondig testen.