簡體   English   中英

NuGet 包管理器嘗試將 .NET 5.0 更新添加到 .NET Core 3.1 應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM