unity3d 是否有办法确定NuGet软件包针对的是.Netstandard的哪个版本?

ntjbwcob  于 2023-02-13  发布在  .NET
关注(0)|答案(2)|浏览(244)

最近我尝试将SignalR dll导入Unity项目(支持.NET Standard 2.0)。NuGet包-〉Microsoft.AspNetCore.SignalR.Client当前版本为3.1.2。下面列出了依赖项:
. NET标准,版本=v2.0
Microsoft.AspNetCore.Http.Connections.Client
(〉= 3.1.2)微软.AspNetCore.客户端.核心(〉= 3.1.2)
然而,当我将这些dll文件移入Unity项目时,我遇到了一个错误:
错误CS 1705标识为“Microsoft.AspNetCore.SignalR.Client.Core,版本=3.1.2.0,区域性=中性,PublicKeyToken= adb 9793829 ddae 60”的程序集“Microsoft. AspNetCore.SignalR.Client.Core”使用了版本=2.1.0.0,区域性=中性,PublicKeyToken= cc 7 b13 ffcd 2ddd 51“,该版本高于标识为”netstandard,“版本=2.0.0.0,区域性=非特定,公钥标记= cc 7 b13 ffcd 2ddd 51 '
这对我来说是有意义的,因为我不期望Unity支持2.1版本(.NET Standard docs中的表格说明2.0是Unity的最新版本。我可以将软件包降级到1.1版本,一切都按预期运行(至少这个错误消失了)。我通过检查每个版本,安装/复制直到错误消失来确定选择哪个版本的SignalR.Client。
1.1.0的依赖项是相同的(除了核心和客户端软件包现在列为(>=1.1.0)而不是(>= 3.1.2)

**问题:**有没有比猜测和检查更好的方法来确定需要哪个版本的.NET标准,也许是某个地方的规范,显示要使用的软件包需要支持哪个版本的.NET标准?

nhjlsmyf

nhjlsmyf1#

是的,有一个简单的方法。
FuGet列出了许多关于NuGet包的详细信息,包括针对哪些框架的哪些版本。例如,Microsoft.AspNetCore.SignalR.Client 3.1.2针对netstandard2.0。
一个方便的快捷方式是你正在寻找一个软件包的NuGet页面,你可以很容易地通过在URL栏中用“fuget”重放“nuget”来到达Fuget页面。

plicqrtu

plicqrtu2#

您可以通过检查 Frameworks 选项卡来检查nuget.org本身中的特定软件包兼容的版本:

  • 深蓝色= Compatible target framework(s)
  • 浅蓝色= Additional computed target framework(s)

相关问题