[英]NuGet Package Manager attempting to add .NET 5.0 updates to .NET Core 3.1 application
當我進入工具| 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 應用程序?
為什么 NuGet 包管理器試圖將 .NET 5.0 更新添加到 .NET Core 3.1 應用程序?
.NET 5.0 是 .NET Core 3.1 之后的下一個主要版本。 .NET 5.0 發布后,我們可以通過 Nuget 包管理器安裝 .NET 5.0 版本包,或者將現有的 ASP.NET Core 3.1 項目(和包)更新到 ASP.NET 5.0。 因此,當我們打開 .Net Core 3.1 應用程序的 Nuget 包管理器時,我們將看到這些最新版本的更新:
然后,如果我們單擊“更新”按鈕來更新這些包,則會顯示不兼容錯誤。 因為,目前我們的應用程序仍然面向 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 並單擊Properties選項,將 Target FrameWork 從.NET Core 3.1更改為.NET 5.0 。 保存更改,然后單擊 NuGet 中的“更新”按鈕以更新包。
[注意] 更新包時,請盡量一一更新(而不是選擇所有包並單擊更新按鈕),因為它們可能包含依賴項。
如果您使用 Visual Studio 2019 作為編輯器,請轉到項目設置。
應用程序----> 目標框架----> .NET 5.0
問題將得到解決。
就我而言,降級到以前的版本不起作用。 nuget 還原在 4.1 版的 Azure DevOps 上運行。 將 nuget 升級到 5.8.1 版就成功了。
我遇到了同樣的問題。 在我的情況下,將我的 Visual Studio 更新到最新版本,然后將項目目標框架升級到 .NET 5.0 確實有效。
嘗試安裝 Install-Package Microsoft.Extensions.Primitives -Version 5.0.0,然后就可以安裝 EF5。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.