微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET Core 中 Nuget 包版本的问题

如何解决.NET Core 中 Nuget 包版本的问题

Net 核心应用程序。我创建了一些名为 Authorization 的类库项目,它引用了

<packagereference Include="Microsoft.Identity.Web" Version="1.10.0" />

然后我有一个类库项目,我有参考

<packagereference Include="Azure.Identity" Version="1.2.3" />

我已推送到 azure artifact 的这两个类库应用程序,我正在当前应用程序中使用它。当我尝试构建解决方案时,它给了我以下错误

RepositoryLayer.csproj :
 error NU1605: Detected package downgrade: Azure.Identity from 1.3.0 to 1.2.3. Reference the package directly from the project to select a different version. 
RepositoryLayer.csproj : 
     error NU1605:  RepositoryLayer -> Consume 1.1.46955 -> HttpClients 1.1.46955 -> 
     Authorisation 1.1.46955 -> Microsoft.Identity.Web 1.10.0 -> Azure.Identity (>= 1.3.0)
RepositoryLayer.csproj : 
     error NU1605:  RepositoryLayer -> Azure.Identity (>= 1.2.3)

已经花了几个小时来确定这一点,但无法理解根本原因。有人可以帮我找出这个问题。任何帮助,将不胜感激。谢谢

解决方法

3 个步骤:

(1)使用最新版本

https://www.nuget.org/packages/Azure.Identity (1.4.0)

https://www.nuget.org/packages/Microsoft.Identity.Web (1.12.0)

(您应该使用带有 Azure.Identity 1.4.0Microsoft.Identity.Web 1.12.0 的 .NET 5 SDK 5.0.6 以确保兼容)

(2) 清理 Nuget 缓存,然后再次获取 nuget 包。

https://docs.microsoft.com/en-us/nuget/consume-packages/managing-the-global-packages-and-cache-folders#clearing-local-folders

enter image description here

您可以/应该删除文件夹 packages 中的所有旧内容以清除所有旧内容。我想确保不存在损坏的文件。

(3) 删除binobj,重新构建项目。

让我们分享您的结果。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。