Dela via


Migrera från Windows Forms .NET Framework till .NET

I den här artikeln beskrivs hur du uppgraderar en Windows Forms-skrivbordsapp till .NET med hjälp av .NET Upgrade Assistant. Windows Forms är fortfarande ett ramverk endast för Windows, även om .NET är en plattformsoberoende teknik.

Förutsättningar

Bedömning

Du bör analysera dina projekt innan du utför en uppgradering. Om du utför kodanalys i dina projekt med .NET Upgrade Assistant genereras en rapport som du kan referera till för att identifiera potentiella migreringsblockerare.

Om du vill analysera dina projekt och generera en rapport högerklickar du på lösningsfilen i Solution Explorer och väljer Uppgradera. Mer information om hur du utför en analys finns i Analysera projekt med .NET Upgrade Assistant.

Migrera beroenden

Om du uppgraderar flera projekt börjar du med projekt som inte har några beroenden. I exemplet Matchningsspel beror projektet MatchingGame på biblioteket MatchingGame.Logic, så MatchingGame.Logic bör uppgraderas först.

Tips

Se till att ha en säkerhetskopia av koden, till exempel i källkontrollen eller en kopia.

Använd följande steg för att uppgradera ett projekt i Visual Studio:

  1. Högerklicka på projektet MatchingGame.Logic i fönstret Solution Explorer och välj Uppgradera:

    En skärmbild av menyalternativet Uppgradering av .NET Upgrade Assistant i Visual Studio.

    En ny flik öppnas som uppmanar dig att välja vilken uppgradering du vill utföra.

  2. Välj lokal projektuppgradering.

    En skärmbild av fliken .NET Upgrade Assistant. Alternativet

  3. Välj sedan målplattformen.

    Baserat på vilken typ av projekt du uppgraderar visas olika alternativ. .NET Standard 2.0 kan användas av både .NET Framework och .NET. Det här är ett bra val om biblioteket inte förlitar sig på en skrivbordsteknik som Windows Forms, vilket projektet gör.

    Välj .NET 9.0 och välj sedan Nästa.

    En skärmbild av .NET Upgrade Assistant. Prompten för målplattformen är öppen och både .NET 8 och knappen 'Nästa' är markerade.

  4. Ett träd visas med alla artefakter som är relaterade till projektet, till exempel kodfiler och bibliotek. Du kan uppgradera enskilda artefakter eller hela projektet, vilket är standard. Välj Uppgraderingsval för att starta uppgraderingen.

    En skärmbild av .NET Upgrade Assistant. Sidan Välj komponenter är öppen med knappen Uppgradera val markerad.

  5. När uppgraderingen är klar visas resultatet:

    En skärmbild av uppgraderingsresultatfliken för .NET Upgrade Assistant som visar de migrerade objekten från projektet.

    Artefakter med en fast grön cirkel uppgraderades medan tomma gröna cirklar hoppades över. Förbigångna artefakter innebär att uppgraderingsassistenten inte hittade något att uppgradera.

Nu när appens stödbibliotek har uppgraderats uppgraderar du huvudappen.

Anteckningar för Visual Basic-projekt

För närvarande känner .NET Upgrade Assistant inte igen användningen av System.Configuration i inställningsfilen som skapats av Visual Basic-mallarna i .NET Framework. Den respekterar inte heller användningen av de My tillägg som används i .NET Framework-projekt, till exempel My.Computer och My.User. Dessa tillägg har tagits bort i .NET. På grund av dessa två problem kompileras inte ett Visual Basic-bibliotek efter att ha migrerats med .NET Upgrade Assistant.

För att åtgärda det här problemet måste projektet rikta in sig på Windows och referera till Windows Forms.

  1. När migreringen är klar dubbelklickar du på projektet MatchingGame.Logic i Solution Explorer-fönstret.
  2. Leta upp elementet <Project>/<PropertyGroup>.
  3. I XML-redigeraren ändrar du värdet för <TargetFramework> från net9.0 till net9.0-windows.
  4. Lägg till <UseWindowsForms>true</UseWindowsForms> på raden efter <TargetFramework>.

Projektinställningarna bör se ut som följande kodfragment:

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

Migrera huvudprojektet

När alla stödbibliotek har uppgraderats kan huvudappprojektet uppgraderas. Med exempelappen finns det bara ett biblioteksprojekt att uppgradera, som uppgraderades i föregående avsnitt.

  1. Högerklicka på projektet MatchingGame i fönstret Solution Explorer och välj Uppgradera:
  2. Välj projektuppgradering på plats.
  3. Välj .NET 9.0 för målramverket och välj Nästa.
  4. Låt alla artefakter vara markerade och välj Uppgraderingsval.

När uppgraderingen är klar visas resultatet. Observera hur Windows Forms-projektet har en varningssymbol. Expandera objektet och mer information visas om det steget:

En skärmbild av uppgraderingsresultatfliken för .NET Upgrade Assistant, som visar att några av resultatobjekten har varningssymboler.

Observera att projektuppgraderingskomponenten nämner att standardteckensnittet har ändrats. Eftersom teckensnittet kan påverka kontrolllayouten måste du kontrollera varje formulär och anpassad kontroll i projektet för att se till att användargränssnittet är korrekt ordnat.

Generera en ren version

När huvudprojektet har uppgraderats rensar du och kompilerar det.

  1. Högerklicka på projektet MatchingGame i fönstret Solution Explorer och välj Rensa.
  2. Högerklicka på projektet MatchingGame i fönstret Solution Explorer och välj Build.

Om programmet påträffade några fel kan du hitta dem i fönstret fellista med en rekommendation om hur du åtgärdar dem.

Projektet Windows Forms Matching Game Sample uppgraderas nu till .NET 9.

Upplevelse efter uppgraderingen

Om du porterar en app från .NET Framework till .NET läser du artikeln Modernisera efter uppgradering till .NET från .NET Framework.