Как перенести ваше приложение с Dotnet 5 на Dotnet 6

16
Компьютерные новости и новости технологий на Q-Games.ru

Последнее обновление 07.01.2023 — Василий Иванов

Платформа .NET (Dotnet) была впервые выпущена в начале 2000 года. Это бесплатная среда разработки с открытым исходным кодом, которую можно использовать для разработки широкого спектра приложений.

Microsoft прекратила официальную поддержку .NET 5 8 мая 2022 года. Если вы используете .NET 5 в своих приложениях, это означает, что ваши приложения более уязвимы для нарушений безопасности. К счастью, вы можете легко обновить или перенести свои приложения на новую LTS-версию .NET, версию 6.

Что такое Дотнет 6?

.NET 6 — это текущая LTS-версия платформы .NET, выпущенная в ноябре 2021 года.

Вы можете разрабатывать приложения с помощью .NET 6 в Windows, Linux и macOS. Он также изначально поддерживается чипами M1 Apple Silicon и операционными системами Windows на базе Arm.

Платформа .NET 6 также поддерживает разработку приложений на нескольких языках, таких как C# (C-Sharp), Visual Basic и F# (F-Sharp).

По теме:  Genshin Impact: руководство по месту проглатывания

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

Установка пакета SDK для .NET 6

Вам потребуется установить .NET SDK на свой компьютер, чтобы иметь возможность разрабатывать приложения .NET.

Просто загрузите пакет средств разработки программного обеспечения (SDK) для .NET 6, а затем установите его на свой компьютер. SDK содержит все необходимые инструменты для разработки программного обеспечения в .NET 6.

После завершения установки вы можете просмотреть список SDK, доступных на вашем ПК, с помощью следующей команды .NET CLI:

dotnet --list-sdks

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

dotnet --version

Скачать: .NET 6 (бесплатно)

Обновление целевой платформы

Запустите обновление, обновив целевую платформу .NET. Ваше веб-приложение содержит моникер целевой платформы, который сообщает вашему приложению, какую среду выполнения .NET использовать.

Целевая платформа для вашего веб-приложения находится в XML-файле вашего проекта приложения. Он имеет расширение .csproj. Откройте файл проекта приложения и обновите прозвище TargetFramework, расположенное под тегом PropertyGroup, с net5.0 до net6.0.


<PropertyGroup>
<!-- <TargetFramework>net5.0</TargetFramework> -->
<TargetFramework>net6.0</TargetFramework>

<UserSecretsId>xxx33795-1b05-xxxx-926f-dcc112c2xxxd</UserSecretsId>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>

Если ваше приложение использует файл global.json, убедитесь, что вы обновили версию SDK до «version»: «6.0.100».

Обновление ссылок на пакеты

Следующим шагом является обновление ссылок на пакеты приложений или зависимостей пакетов NuGet. Платформа .NET очень модульная и работает на основе концепции внедрения зависимостей. Ссылки на пакеты NuGet находятся в файле проекта .csproj под тегом .

Количество пакетов NuGet зависит от размера вашего приложения и его сложности.

Первое число в версии пакета NuGet обычно показывает, для какой платформы .NET он предназначен, в данном случае 6. Убедитесь, что вы обновили все пакеты NuGet, чтобы они отражали вашу целевую платформу. В коде, следующем за листингом кода, новый пакет выделен жирным шрифтом. Старые пакеты NuGet закомментированы.

<ItemGroup>
<!-- <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.13" /> -->
<!-- <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.9"> -->
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.3" />

<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.3">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>

<!-- <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.9" /> -->
<!-- <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" /> -->
<!-- <PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3" /> -->
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.3" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.2" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.0" />
</ItemGroup>

Обновление каталога отладки

Если вы используете Visual Studio Code (VS Code) для разработки, важно обновить следующую строку в файле launch.json. VS Code использует значение свойства программы для хранения пути к отладчику. Ваше приложение по-прежнему будет работать нормально, если вы не обновите папку отладчика, но вы не сможете запустить отладчик VS Code.

VS Code — это кроссплатформенный редактор с поддержкой отладки кода среди других мощных функций. Вы даже можете установить его на чипы на базе ARM, такие как Raspberry Pi.

Минимальная модель хостинга

Одним из основных обновлений новой платформы .NET 6 является минимальный подход к хостингу. По умолчанию новые приложения .NET 6 не содержат файл startup.cs. Конфигурация службы и загрузка приложения происходят в файле program.cs. Старые приложения будут продолжать работать нормально, но в будущем рассмотрите возможность их обновления до минимального хостинга.

Примечание. Вам не нужно использовать минимальный хостинг при переходе на .NET 6.

Переход на .NET 6

.NET 6 — это новейшая версия платформы .NET с долгосрочной поддержкой. Если вы все еще используете .NET 5 в своем приложении, самое время перейти на .NET 6.

Разработчики создали множество полезных фреймворков поверх .NET, таких как ASP.NET, фреймворк для веб-приложений. ASP.NET — это платформа с открытым исходным кодом, позволяющая быстро создавать мощные приложения. Возможно, ему уже более 20 лет, но спрос на ASP.NET по-прежнему высок.