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
- Windows-operativsystem.
- Ladda ned och extrahera demoappen som används med den här artikeln.
- Visual Studio 2022 version 17.12 eller senare för att rikta in sig på .NET 9.
- .NET Upgrade Assistant-tillägget för Visual Studio.
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:
Högerklicka på projektet MatchingGame.Logic i fönstret Solution Explorer och välj Uppgradera:
En ny flik öppnas som uppmanar dig att välja vilken uppgradering du vill utföra.
Välj lokal projektuppgradering.
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.
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.
När uppgraderingen är klar visas resultatet:
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.
- När migreringen är klar dubbelklickar du på projektet MatchingGame.Logic i Solution Explorer-fönstret.
- Leta upp elementet
<Project>/<PropertyGroup>
. - I XML-redigeraren ändrar du värdet för
<TargetFramework>
frånnet9.0
tillnet9.0-windows
. - 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.
- Högerklicka på projektet MatchingGame i fönstret Solution Explorer och välj Uppgradera:
- Välj projektuppgradering på plats.
- Välj .NET 9.0 för målramverket och välj Nästa.
- 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:
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.
- Högerklicka på projektet MatchingGame i fönstret Solution Explorer och välj Rensa.
- 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.
Relaterat innehåll
Portning från .NET Framework till .NET.
Portningsguiden ger en översikt över vad du bör tänka på när du porterar din kod från .NET Framework till .NET. Komplexiteten i dina projekt avgör hur mycket arbete du ska göra efter den första migreringen av projektfilerna.
Modernisera efter uppgradering till .NET från .NET Framework.
.NET-världen har förändrats mycket sedan .NET Framework. Den här länken innehåller information om hur du moderniserar din app när du har uppgraderat.
.NET Desktop feedback