Диспетчер пакетов NuGet пытается добавить обновления .NET 5.0 в приложение .NET Core 3.1
Когда я захожу в Инструменты | Диспетчер пакетов NuGet | "Управление пакетом NuGet для решения" показывает, что доступно 12 обновлений.
Но когда я пытаюсь обновить их все, я получаю ошибки.
NU1202: Package Microsoft.VisualStudio.Web.CodeGeneration 5.0.0 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package Microsoft.VisualStudio.Web.CodeGeneration 5.0.0 supports: net5.0 (.NETCoreApp,Version=v5.0)
NU1202: Package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 5.0.0 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore 5.0.0 supports: net5.0 (.NETCoreApp,Version=v5.0)
NU1202: Package Microsoft.VisualStudio.Web.CodeGeneration.Utils 5.0.0 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package Microsoft.VisualStudio.Web.CodeGeneration.Utils 5.0.0 supports: net5.0 (.NETCoreApp,Version=v5.0)
NU1202: Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 5.0.0 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package Microsoft.VisualStudio.Web.CodeGeneration.Contracts 5.0.0 supports: net5.0 (.NETCoreApp,Version=v5.0)
NU1202: Package Microsoft.VisualStudio.Web.CodeGenerators.Mvc 5.0.0 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package Microsoft.VisualStudio.Web.CodeGenerators.Mvc 5.0.0 supports: net5.0 (.NETCoreApp,Version=v5.0)
Package restore failed. Rolling back package changes for 'SolutionName'.
Я вижу проблемы несовместимости между.NET Core 3.1 и.NET 5.0, но не знаю почему.
Почему диспетчер пакетов NuGet пытается добавить обновления.NET 5.0 в приложение.NET Core 3.1?
5 ответов
Почему диспетчер пакетов NuGet пытается добавить обновления.NET 5.0 в приложение.NET Core 3.1?
.NET 5.0 - это следующий крупный выпуск.NET Core после 3.1. После выпуска.NET 5.0 мы могли бы установить пакеты версии.NET 5.0 через диспетчер пакетов Nuget или обновить существующий проект ASP.NET Core 3.1 (и пакеты) до ASP.NET 5.0. Итак, когда мы откроем диспетчер пакетов Nuget приложения.Net Core 3.1, мы увидим эти обновления для последней версии:
Затем, если мы нажмем кнопку "Обновить", чтобы обновить эти пакеты, отобразится ошибка несовместимости. Потому что в настоящее время наше приложение по-прежнему ориентировано на версию Asp.net Core 3.1 вместо.NET 5.0.
Чтобы решить эту проблему, вы можете игнорировать эти обновления и по-прежнему использовать пакет версии 3.* для приложения Asp.net Core 3.1.
В противном случае вы можете обновить свой проект ASP.NET Core 3.1 до ASP.NET Core 5.0 (перед обновлением убедитесь, что вы установили.NET 5.0 и обновите версию Visual Studio до последней версии).
Щелкните правой кнопкой мыши Project и выберите параметр " Свойства", измените Target FrameWork с .NET Core 3.1 на .NET 5.0. Сохраните изменение, затем нажмите кнопку "Обновить" в NuGet, чтобы обновить пакеты.
[Примечание] При обновлении пакетов, пожалуйста, попробуйте обновить их один за другим (вместо "Выбрать все пакеты" и нажать кнопку "Обновить"), потому что они могут содержать зависимости.
В моем случае вернуться к предыдущей версии не удалось. Восстановление nuget выполнялось в Azure DevOps версии 4.1. Обновление nuget до версии 5.8.1 помогло.
если вы используете Visual Studio 2019 в качестве редактора, перейдите в настройки проекта.
Приложение ----> Целевая платформа -----> .NET 5.0
проблема будет решена.
Я столкнулся с той же проблемой. В моем случае обновление моей визуальной студии до последней версии, а затем обновление целевой платформы проектов до .NET 5.0 действительно сработало.
попробуйте установить Install-Package Microsoft.Extensions.Primitives -Version 5.0.0, тогда вы можете установить EF5.