Megosztás:


Migrálás a Windows Forms .NET-keretrendszerből a .NET-be

Ez a cikk azt ismerteti, hogyan frissíthet asztali Windows Forms-alkalmazásokat .NET-re a .NET frissítési segéd használatával. A Windows Forms továbbra is csak Windows-keretrendszer marad, annak ellenére, hogy a .NET platformfüggetlen technológia.

Előfeltételek

Értékelés

A frissítések végrehajtása előtt elemeznie kell a projekteket. Ha kódelemzést végez a projektjein a .NET Upgrade Assistant segítségével, létrehoz egy jelentést, amelyre hivatkozhat a lehetséges migrálási blokkolók azonosításához.

A projektek elemzéséhez és a jelentés létrehozásához kattintson a jobb gombbal a megoldásfájlra Megoldáskezelő, és válassza a Frissítéslehetőséget. További információ az elemzés elvégzéséről: Projektek elemzése a .NET Frissítési asszisztenssel.

Függőségek áthozása

Ha több projektet frissít, kezdje olyan projektekkel, amelyek nem rendelkeznek függőségekkel. A Matching Game mintájában a MatchingGame projekt a MatchingGame.Logic könyvtártól függ, ezért először MatchingGame.Logic kell frissíteni.

Jótanács

Mindenképpen készítsen biztonsági másolatot a kódról, például a forrásvezérlőben vagy egy másolatban.

Az alábbi lépésekkel frissíthet egy projektet a Visual Studióban:

  1. Kattintson a jobb gombbal a MatchingGame.Logic projektre a Megoldáskezelő ablakban, és válassza Frissítés:

    Képernyőkép a Visual Studióban a .NET Upgrade Assistant Frissítés menüeleméről.

    Ekkor megnyílik egy új lap, amely arra kéri, hogy válassza ki a végrehajtani kívánt frissítést.

  2. Válassza a Helyszíni projektfrissítéslehetőséget.

    Képernyőkép a .NET Frissítési segéd lapról. A

  3. Ezután válassza ki a cél keretrendszert.

    A frissíteni kívánt projekt típusától függően különböző lehetőségek állnak rendelkezésre. .NET Standard 2.0 használható a .NET-keretrendszer által és a .NET által is. Ez akkor jó választás, ha a kódtár nem támaszkodik olyan asztali technológiára, mint a Windows Forms, amelyet ez a projekt végez.

    Válassza .NET 9.0, majd válassza a Továbblehetőséget.

    A .NET frissítési segéd képernyőképe. A cél-keretrendszer parancssora meg van nyitva, és a .NET 8 ki van emelve a

  4. Megjelenik egy fa a projekthez kapcsolódó összes összetevővel, például kódfájlokkal és kódtárakkal. Az egyes összetevőket vagy a teljes projektet frissítheti, ami az alapértelmezett. Válassza: Frissítés kiválasztása a frissítés elindításához.

    A .NET frissítési segéd képernyőképe. Az

  5. Ha a frissítés befejeződött, az eredmények megjelennek:

    Képernyőkép a .NET Upgrade Assistant frissítési eredményeinek lapjáról, amelyen a projektből áttelepített elemek láthatók.

    A teljes zöld körrel rendelkező tárgyak frissültek, míg az üres zöld körrel rendelkező tárgyak kimaradtak. Az átugrott elemek azt jelentik, hogy a frissítési segéd nem talált frissítendő dolgokat.

Most, hogy az alkalmazás támogató könyvtára frissült, frissítse a fő alkalmazást.

Megjegyzések Visual Basic-projektekhez

A .NET frissítési segéd jelenleg nem ismeri fel a System.Configuration használatát a .NET-keretrendszer Visual Basic-sablonjai által létrehozott beállításfájlban. Nem tartja tiszteletben a .NET-keretrendszerprojektekben, például My és My.Computerhasznált My.User bővítmények használatát sem. Ezek a bővítmények el lettek távolítva a .NET-ben. A fenti két probléma miatt a Visual Basic-kódtár nem fog lefordítani a .NET Frissítési asszisztenssel való migrálás után.

A probléma megoldásához a projektnek meg kell céloznia a Windowst, és hivatkoznia kell a Windows Formsra.

  1. A migrálás befejezése után kattintson duplán a MatchingGame.Logic projektre a Megoldáskezelő ablakban.
  2. Keresse meg a <Project>/<PropertyGroup> elemet.
  3. Az XML-szerkesztőben módosítsa a <TargetFramework> értékét net9.0 értékről net9.0-windowsértékre.
  4. <UseWindowsForms>true</UseWindowsForms> hozzáadása a sorhoz <TargetFramework>után.

A projektbeállításoknak a következő kódrészlethez hasonlóan kell kinéznie:

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

A fő projekt migrálása

Az összes támogató kódtár frissítése után a fő alkalmazásprojekt frissíthető. A példaalkalmazással csak egy erőforrástárprojektet kell frissíteni, amelyet az előző szakaszban frissítettek.

  1. Kattintson a jobb gombbal a MatchingGame projektre a Megoldáskezelő ablakban, és válassza Frissítés:
  2. Válassza a Helyszíni projektfrissítéslehetőséget.
  3. Válassza .NET 9.0 a cél keretrendszerhez, és válassza a Továbblehetőséget.
  4. Hagyja kijelölve az összes artefaktumot, és válassza a Frissítés kijelöléslehetőséget.

A frissítés befejezése után megjelennek az eredmények. Figyelje meg, hogy a Windows Forms projektnek van figyelmeztető szimbóluma. Bontsa ki az elemet, és további információ jelenik meg erről a lépésről:

Képernyőkép a .NET Frissítési segéd frissítési eredményei lapról, amelyen néhány eredményelem figyelmeztető szimbólumokkal rendelkezik.

Figyelje meg, hogy a projektfrissítési összetevő megemlíti, hogy az alapértelmezett betűtípus megváltozott. Mivel a betűtípus hatással lehet a vezérlő elrendezésére, ellenőriznie kell a projekt minden űrlapját és egyéni vezérlőelemét, hogy a felhasználói felület megfelelően legyen elrendezve.

Tiszta build létrehozása

A fő projekt frissítése után tisztítsa meg és fordítsa le a kódot.

  1. Kattintson a jobb gombbal a MatchingGame projektre a Megoldáskezelő ablakban, és válassza a Tisztalehetőséget.
  2. Kattintson a jobb gombbal a MatchingGame projektre a Megoldáskezelő ablakban, és válassza a Buildlehetőséget.

Ha az alkalmazás hibát észlelt, az Hibalista ablakban találhatja meg őket, ahol a javításukra vonatkozó javaslat is elérhető.

A Windows Forms Matching Game Sample projekt .NET 9-re lett frissítve.

Frissítés utáni élmény

Ha egy alkalmazást portol a .NET-keretrendszerről .NET-re, tekintse át a Modernizálás .NET-keretrendszerről .NET-re frissítés után cikket.