Udostępnij za pośrednictwem


Migrowanie z programu .NET Framework formularzy systemu Windows do platformy .NET

W tym artykule opisano sposób uaktualniania aplikacji klasycznej Windows Forms do platformy .NET przy użyciu Asystenta uaktualniania platformy .NET. Windows Forms pozostaje strukturą tylko dla systemu Windows, mimo że platforma .NET jest technologią międzyplatformową.

Wymagania wstępne

Ocena

Przed przeprowadzeniem uaktualnienia należy przeanalizować projekty. Przeprowadzanie analizy kodu w projektach za pomocą asystenta uaktualniania platformy .NET generuje raport, do którego można się odwoływać, aby zidentyfikować potencjalne blokady migracji.

Aby przeanalizować projekty i wygenerować raport, kliknij prawym przyciskiem myszy plik rozwiązania w Eksplorator rozwiązań i wybierz polecenie Uaktualnij. Aby uzyskać więcej informacji na temat przeprowadzania analizy, zobacz Analizowanie projektów za pomocą asystenta uaktualniania platformy .NET.

Migrowanie zależności

Jeśli uaktualniasz wiele projektów, zacznij od projektów, które nie mają zależności. W przykładzie Matching Game projekt MatchingGame zależy od biblioteki MatchingGame.Logic , więc najpierw należy uaktualnić MatchingGame.Logic .

Napiwek

Upewnij się, że masz kopię zapasową kodu, na przykład w kontroli źródła lub kopii.

Wykonaj następujące kroki, aby uaktualnić projekt w programie Visual Studio:

  1. Kliknij prawym przyciskiem myszy projekt MatchingGame.Logic w oknie Eksplorator rozwiązań i wybierz pozycję Uaktualnij:

    Zrzut ekranu przedstawiający element menu Uaktualnianie asystenta uaktualniania platformy .NET w programie Visual Studio.

    Zostanie otwarta nowa karta z monitem o wybranie uaktualnienia, które chcesz wykonać.

  2. Wybierz pozycję Uaktualnienie projektu w miejscu.

    Zrzut ekranu przedstawiający kartę Asystenta uaktualniania platformy .NET. Opcja

  3. Następnie wybierz platformę docelową.

    W zależności od typu projektu, który uaktualniasz, przedstawiono różne opcje. Platforma .NET Standard 2.0 może być używana zarówno przez program .NET Framework, jak i platformę .NET. Jest to dobry wybór, jeśli biblioteka nie korzysta z technologii klasycznej, takiej jak Windows Forms, co robi ten projekt.

    Wybierz pozycję .NET 9.0 , a następnie wybierz pozycję Dalej.

    Zrzut ekranu przedstawiający Asystenta uaktualniania platformy .NET. Wiersz polecenia platformy docelowej jest otwarty, a platforma .NET 8 jest wyróżniona wraz z przyciskiem

  4. Drzewo jest wyświetlane ze wszystkimi artefaktami powiązanymi z projektem, takimi jak pliki kodu i biblioteki. Możesz uaktualnić poszczególne artefakty lub cały projekt, który jest domyślny. Wybierz pozycję Uaktualnij wybór , aby rozpocząć uaktualnianie.

    Zrzut ekranu przedstawiający Asystenta uaktualniania platformy .NET. Strona

  5. Po zakończeniu uaktualniania zostaną wyświetlone wyniki:

    Zrzut ekranu przedstawiający kartę wyników uaktualniania asystenta uaktualniania platformy .NET przedstawiającą zmigrowane elementy z projektu.

    Artefakty z solidnym zielonym okręgiem zostały uaktualnione, podczas gdy pominięto puste zielone okręgi. Pominięte artefakty oznaczają, że asystent uaktualnienia nie znalazł niczego do uaktualnienia.

Po uaktualnieniu biblioteki pomocniczej aplikacji uaktualnij główną aplikację.

Uwagi dotyczące projektów Visual Basic

Obecnie Asystent uaktualniania platformy .NET nie rozpoznaje użycia System.Configuration w pliku ustawień utworzonym przez szablony języka Visual Basic na platformie .NET Framework. Nie uwzględnia również używania My rozszerzeń używanych w projektach programu .NET Framework, takich jak My.Computer i My.User. Te rozszerzenia zostały usunięte na platformie .NET. Z powodu tych dwóch problemów biblioteka języka Visual Basic nie zostanie skompilowana po przeprowadzeniu migracji za pomocą Asystenta uaktualniania platformy .NET.

Aby rozwiązać ten problem, projekt musi być przeznaczony dla systemu Windows i odwołać się do formularzy systemu Windows.

  1. Po zakończeniu migracji kliknij dwukrotnie projekt MatchingGame.Logic w oknie Eksplorator rozwiązań.
  2. Znajdź element <Project>/<PropertyGroup>.
  3. W edytorze XML zmień wartość <TargetFramework> z net9.0 na net9.0-windows.
  4. Dodaj <UseWindowsForms>true</UseWindowsForms> do wiersza po <TargetFramework>.

Ustawienia projektu powinny wyglądać podobnie do następującego fragmentu kodu:

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

Migrowanie głównego projektu

Po uaktualnieniu wszystkich bibliotek pomocniczych można uaktualnić główny projekt aplikacji. W przykładowej aplikacji istnieje tylko jeden projekt biblioteki do uaktualnienia, który został uaktualniony w poprzedniej sekcji.

  1. Kliknij prawym przyciskiem myszy projekt MatchingGame w oknie Eksplorator rozwiązań i wybierz pozycję Uaktualnij:
  2. Wybierz pozycję Uaktualnienie projektu w miejscu.
  3. Wybierz pozycję .NET 9.0 dla platformy docelowej, a następnie wybierz pozycję Dalej.
  4. Pozostaw zaznaczone wszystkie artefakty i wybierz pozycję Uaktualnij.

Po zakończeniu uaktualniania zostaną wyświetlone wyniki. Zwróć uwagę, że projekt Windows Forms ma symbol ostrzeżenia. Rozwiń ten element i więcej informacji jest wyświetlanych w tym kroku:

Zrzut ekranu przedstawiający kartę wyników uaktualniania asystenta uaktualniania platformy .NET z widocznymi symbolami ostrzegawczymi niektórych elementów wyników.

Zwróć uwagę, że składnik uaktualniania projektu wspomina o zmianie czcionki domyślnej. Ponieważ czcionka może mieć wpływ na układ kontrolki, należy sprawdzić każdy formularz i kontrolkę niestandardową w projekcie, aby upewnić się, że interfejs użytkownika jest poprawnie rozmieszczony.

Generowanie czystej kompilacji

Po uaktualnieniu głównego projektu wyczyść go i skompiluj.

  1. Kliknij prawym przyciskiem myszy projekt MatchingGame w oknie Eksplorator rozwiązań i wybierz polecenie Wyczyść.
  2. Kliknij prawym przyciskiem myszy projekt MatchingGame w oknie Eksplorator rozwiązań i wybierz pozycję Kompiluj.

Jeśli aplikacja napotkała jakiekolwiek błędy, możesz je znaleźć w oknie Lista błędów z zaleceniem, jak je naprawić.

Projekt Windows Forms Matching Game Sample został uaktualniony do platformy .NET 9.

Środowisko po uaktualnieniu

Jeśli przenosisz aplikację z programu .NET Framework do platformy .NET, zapoznaj się z artykułem Modernize po uaktualnieniu do platformy .NET z programu .NET Framework .