Обзор помощника по обновлению .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 щелкните правой кнопкой мыши проект в окне Обозреватель решений и выберите "Обновить".
Внимание
Убедитесь, что вы выполняете резервное копирование проектов перед обновлением, если вы не используете управление версиями.
Откроется вкладка, которая предоставляет различные стили обновления на основе типа проекта:
Обновление проекта на месте
Этот параметр обновляет проект без копирования.
Параллельное обновление проекта
Копирует проект и обновляет копию, оставляя исходный проект в одиночку.
Параллельное добавочное
Хороший выбор для сложных веб-приложений. Обновление с ASP.NET до ASP.NET Core требует довольно много работы и иногда ручной рефакторинг. Этот режим помещает проект .NET рядом с существующим проектом платформа .NET Framework и направляет конечные точки, реализованные в проекте .NET, а все остальные вызовы отправляются в приложение платформа .NET Framework.
Этот режим позволяет медленно обновлять ASP.NET или приложение библиотеки по частям.
После обновления приложения отобразится экран состояния, в котором отображаются все артефакты, связанные с проектом, связанными с обновлением. Каждый артефакт обновления можно развернуть, чтобы узнать больше о состоянии. В следующем списке описаны значки состояния:
- Заполнен зеленый проверка mark: артефакт был обновлен и успешно завершен.
- Незаполненные зеленые проверка mark: средство не нашли ничего о артефакте для обновления.
- Желтый знак предупреждения: артефакт был обновлен, но следует учитывать важные сведения.
- Red X: артефакт должен был быть обновлен, но обновление завершилось сбоем.
Кроме того, действия помощника по обновлению записываются в окно вывода в источник помощника по обновлению, как показано на следующем рисунке:
После обновления проекта необходимо тщательно протестировать его.
Обновление с помощью средства 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
После обновления проекта необходимо тщательно протестировать его.