Обновление классического приложения Windows Forms до .NET 7

В этой статье описывается обновление классического приложения Windows Forms до .NET 7. Несмотря на то, что Windows Forms работает в .NET, кроссплатформенная технология Windows Forms по-прежнему является платформой только для Windows. Следующие типы проектов, связанных с Windows Forms, можно обновить с помощью помощника по обновлению .NET:

  • Проект Windows Forms
  • Библиотека элементов управления
  • Библиотека для .NET

Вы также должны просмотреть сведения в руководстве по переносу из платформа .NET Framework в .NET.

Необходимые компоненты

Демонстрационное приложение

Эта статья была написана в контексте обновления проекта примера игры сопоставления Windows Forms, который можно скачать из репозитория GitHub для примеров .NET.

Запуск обновления

Если вы обновляете несколько проектов, начните с проектов, которые не имеют зависимостей. В примере "Игра сопоставления" проект MatchingGame зависит от библиотеки MatchingGame.Logic, поэтому сначала следует обновить MatchingGame.Logic.

Совет

Обязательно создайте резервную копию кода, например в системе управления версиями или копии.

Чтобы обновить проект в Visual Studio, выполните следующие действия.

  1. Щелкните правой кнопкой мыши проект MatchingGame.Logic в окне Обозреватель решений и выберите "Обновить".

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

    Откроется новая вкладка, которая предлагает выбрать способ выполнения обновления.

  2. Выберите обновление проекта на месте.

  3. Затем выберите целевую платформу. На основе типа проекта, который вы обновляете, вы предоставляете различные варианты. .NET Standard 2.0 является хорошим выбором, если библиотека не полагается на классические технологии, такие как Windows Froms и может использоваться как платформа .NET Framework проектами, так и проектами .NET. Однако последние выпуски .NET предоставляют множество улучшений языка и компилятора по сравнению с .NET Standard.

    Выберите .NET 7.0 и нажмите кнопку "Далее".

    The .NET Upgrade Assistant's target framework decision tab.

  4. Дерево отображается со всеми артефактами, связанными с проектом, такими как файлы кода и библиотеки. Вы можете обновить отдельные артефакты или весь проект, который используется по умолчанию. Выберите пункт "Обновить", чтобы начать обновление.

    После завершения обновления отображаются результаты:

    The .NET Upgrade Assistant's upgrade results tab, showing two out of the 13 items were skipped.

    Артефакты с твердым зеленым кругом были обновлены, в то время как пустые зеленые круги пропускались. Пропущенные артефакты означают, что обновление помощник не нашли ничего для обновления.

Теперь, когда поддержка библиотеки приложения обновлена, обновите основное приложение.

Обновление приложения

После обновления всех вспомогательных библиотек можно обновить основной проект приложения. В примере приложения существует только один проект библиотеки для обновления, который был обновлен в предыдущем разделе.

  1. Щелкните правой кнопкой мыши проект MatchingGame в окне Обозреватель решений и выберите "Обновить".
  2. Выберите обновление проекта на месте в качестве режима обновления.
  3. Выберите .NET 7.0 для целевой платформы и нажмите кнопку "Далее".
  4. Оставьте все артефакты выбранными и выберите пункт "Обновить".

После завершения обновления отображаются результаты. Обратите внимание, что в проекте Windows Forms есть символ предупреждения. Разверните это и дополнительные сведения об этом шаге:

The .NET Upgrade Assistant's upgrade results tab, showing some of the result items have warning symbols.

Обратите внимание, что компонент обновления проекта упоминание, измененный шрифтом по умолчанию. Так как шрифт может повлиять на макет элемента управления, необходимо проверка каждую форму и пользовательский элемент управления в проекте, чтобы обеспечить правильность организации пользовательского интерфейса.

Создание чистой сборки

После обновления проекта очистите и скомпилируйте его.

  1. Щелкните правой кнопкой мыши проект MatchingGame в окне Обозреватель решений и выберите "Очистить".
  2. Щелкните правой кнопкой мыши проект MatchingGame в окне Обозреватель решений и выберите "Сборка".

Если приложение столкнулось с любыми ошибками, их можно найти в окне списка ошибок с рекомендацией по их устранению.

Заключение

Теперь проект "Пример игры ", соответствующий Windows Forms, обновлен до .NET 7. Результаты будут отличаться при переносе собственного проекта. Убедитесь, что вам потребуется время, чтобы просмотреть перенос из платформа .NET Framework в .NET и модернизировать после обновления до .NET из статьи платформа .NET Framework.