#c# #asp.net #asp.net-core #nuget #.net-5
#c# #asp.net #asp.net-core #nuget #.net-5
Вопрос:
В настоящее время я пытаюсь перенести приложение ASP .NET Core 3.1 на .NET 5.0.
В своем приложении я использую некоторые сторонние пакеты NuGet, которые полагаются на .NET Core 3.1 и не будут перенесены на .NET 5.
Хотя я пытаюсь выяснить, полностью ли мое приложение переносимо на .NET 5.
В моем приложении я выполнил следующие шаги:
- Я обновил целевую структуру в
.csproj
файле
<TargetFramework>net5.0</TargetFramework>
- Затем я обновил все пакеты NuGet — кажется, он работает нормально, без ошибок.
К сожалению, я не уверен, потому что в Solution Explorer => Project => Dependencies => Frameworks я вижу использование Microsoft.AspNetCore.Приложение и Microsoft.NETCore.App.
Мой первый вопрос: проблема в использовании Microsoft.AspNetCore.Приложение и Microsoft.NETCore.Приложение в том же приложении .NET 5? В чем разница между этими фреймворками?
- На следующем шаге я запускаю .Анализатор переносимости сети с целевой платформой .NET 5.0 — в отчете говорится, что переносимость составляет около 97%, но зависимые NuGets в .NET Core 3.1 не могут быть изменены.
Мой второй вопрос: могу ли я использовать.Пакеты NET Core 3.1 NuGet в приложении .NET 5? Я не могу изменить эти сторонние пакеты NuGet. Кажется, это работает, но я думал, что это невозможно.
Как я могу проверить, могу ли я полностью перенести свое приложение с .NET Core 3.1 на .NET 5?
Комментарии:
1. Обратите внимание, что .NET 5 — это в основном просто «.NET Core 4», но с дополнительным брендингом. Можно ссылаться на библиотеку, предназначенную для более ранней версии .NET Core, из приложения, предназначенного для более поздней версии
2. Вот список критических изменений при переходе на
.net 5
, согласно microsoft — ( docs.microsoft.com/en-us/dotnet/core/compatibility/5.0 )3. Все эти фреймворки были введены, чтобы избежать того, чтобы приложениям приходилось ссылаться на миллиарды пакетов NuGet (с разными версиями): они представляют собой централизованно установленные коллекции библиотек. Это нормально и ожидаемо, что ASP.NET Основные приложения используют как Microsoft.NETCore.App (на который будут ссылаться все (новые) приложения .NET Core), так и Microsoft. AspNetCore.App (который содержит библиотеки, специфичные для ASP.NET)
4. Также читайте docs.microsoft.com/en-us/aspnet/core/migration /…
Ответ №1:
Вы можете. Просто обновите все зависимости вашего проекта через NuGet до последней стабильной версии, и это позволит вам обновить ваш .Net Core 3.1 до .Net 5. Недавно я работал над двумя проектами. Один из них находится на сервере разработчиков и работает нормально, без каких-либо проблем.
На хостинговом сервере вам необходимо установить пакет хостинга .net 5 и перезапустить сервер… вот и все