Обзор помощника по обновлению .NET

Новые версии .NET выпускаются в течение года с основным выпуском один раз в год. Помощник по обновлению .NET помогает обновить приложения с предыдущих версий .NET, .NET Core и платформа .NET Framework до последней версии.

Помощник по обновлению .NET — это расширение Visual Studio и средство командной строки, предназначенное для обновления приложений до последней версии .NET.

Проблемы, связанные с помощником по обновлению .NET, можно подать в Visual Studio, выбрав команду "Отправить>отзыв о>проблеме".

Установка помощника по обновлению

Помощник по обновлению .NET можно установить как расширение Visual Studio или как средство командной строки .NET. Дополнительные сведения см. в разделе "Установка помощника по обновлению .NET".

Поддерживаемые языки

Поддерживаются следующие языки кода:

  • C#
  • Visual Basic

Поддерживаемые проекты

Поддерживаются следующие типы проектов:

  • ASP.NET
  • Функции Azure
  • Windows Presentation Foundation
  • Windows Forms
  • Библиотеки классов
  • Консольные приложения
  • .NET Native UWP
  • Xamarin Forms
  • .NET MAUI

Варианты обновления

Поддерживаются следующие варианты обновления:

  • платформа .NET Framework в .NET
  • .NET Core в .NET
  • UWP в WinUI 3
  • Предыдущая версия .NET до последней версии .NET
  • Функции Azure версии 1-v3 до изолированной версии 4
  • Xamarin Forms в .NET MAUI
    • Преобразования ФАЙЛОВ XAML поддерживают только обновление пространств имен. Для более комплексных преобразований используйте Visual Studio 2022 версии 17.6 или более поздней версии.

Обновление с помощью расширения Visual Studio

После установки расширения помощника по обновлению .NET щелкните правой кнопкой мыши проект в окне Обозреватель решений и выберите "Обновить".

Внимание

Убедитесь, что вы выполняете резервное копирование проектов перед обновлением, если вы не используете управление версиями.

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

Откроется вкладка, которая предоставляет различные стили обновления на основе типа проекта:

  • Обновление проекта на месте

    Этот параметр обновляет проект без копирования.

  • Параллельное обновление проекта

    Копирует проект и обновляет копию, оставляя исходный проект в одиночку.

  • Параллельное добавочное

    Хороший выбор для сложных веб-приложений. Обновление с ASP.NET до ASP.NET Core требует довольно много работы и иногда ручной рефакторинг. Этот режим помещает проект .NET рядом с существующим проектом платформа .NET Framework и направляет конечные точки, реализованные в проекте .NET, а все остальные вызовы отправляются в приложение платформа .NET Framework.

    Этот режим позволяет медленно обновлять ASP.NET или приложение библиотеки по частям.

После обновления приложения отобразится экран состояния, в котором отображаются все артефакты, связанные с проектом, связанными с обновлением. Каждый артефакт обновления можно развернуть, чтобы узнать больше о состоянии. В следующем списке описаны значки состояния:

  • Заполнен зеленый проверка mark: артефакт был обновлен и успешно завершен.
  • Незаполненные зеленые проверка mark: средство не нашли ничего о артефакте для обновления.
  • Желтый знак предупреждения: артефакт был обновлен, но следует учитывать важные сведения.
  • Red X: артефакт должен был быть обновлен, но обновление завершилось сбоем.

The .NET Upgrade Assistant's Upgrade results tab in Visual Studio.

Кроме того, действия помощника по обновлению записываются в окно вывода в источник помощника по обновлению, как показано на следующем рисунке:

The output window in Visual Studio showing the results from the .NET Upgrade Assistant.

После обновления проекта необходимо тщательно протестировать его.

Обновление с помощью средства CLI

После установки средства командной строки помощника по обновлению .NET откройте окно терминала и перейдите в каталог, содержащий проект, который требуется обновить. Вы можете использовать команду, чтобы просмотреть доступные upgrade-assistant --help параметры, предоставляемые CLI.

Внимание

Убедитесь, что вы выполняете резервное копирование проектов перед обновлением, если вы не используете управление версиями.

Запустите средство с upgrade-assistant upgrade помощью команды, все проекты из текущей папки и ниже перечислены. Средство ИНТЕРФЕЙСА командной строки предоставляет интерактивный способ выбора проекта для обновления. Используйте клавиши со стрелками для выбора элемента и нажмите клавишу ВВОД , чтобы запустить элемент. Выберите проект, который требуется обновить. В примере, приведенном в этой статье, существует четыре проекта в текущей папке:

 Selected options
───────────────────────────────────────────────────────────
 No options specified, follow steps below to continue

 Steps
─────────────────
 Source project
─────────────────

Which project do you want to upgrade (found 9)?

> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
  MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
  StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
  WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)

  Navigation
    Exit

В зависимости от обновляемого проекта вы можете указать способ продолжения обновления:

  • Обновление проекта на месте

    Этот параметр обновляет проект без копирования.

  • Параллельное обновление проекта

    Этот параметр доступен только для платформа .NET Framework проектов. Копирует проект и обновляет копию, оставляя исходный проект в одиночку.

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\winforms\MatchingGame\MatchingGame.csproj

 Steps
───────────────────────────────
 Source project / Upgrade type
───────────────────────────────

How do you want to upgrade project MatchingGame?

> In-place project upgrade
  Side-by-side project upgrade

  Navigation
    Back
    Exit

После этого шага, если существует несколько обновляемых целевых платформ, вы выберете целевой объект:

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
 Ugrade type        Inplace

 Steps
──────────────────────────────────────────────────
 Source project / Ugrade type / Target framework
──────────────────────────────────────────────────

What is your preferred target framework?

> .NET 6.0 (Supported until November, 2024)
  .NET 7.0 (Supported until May, 2024)
  .NET 8.0 (Try latest preview features)

  Navigation
    Back
    Exit

После обновления проекта необходимо тщательно протестировать его.