最近我尝试将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标准?
2条答案
按热度按时间nhjlsmyf1#
是的,有一个简单的方法。
FuGet列出了许多关于NuGet包的详细信息,包括针对哪些框架的哪些版本。例如,Microsoft.AspNetCore.SignalR.Client 3.1.2针对netstandard2.0。
一个方便的快捷方式是你正在寻找一个软件包的NuGet页面,你可以很容易地通过在URL栏中用“fuget”重放“nuget”来到达Fuget页面。
plicqrtu2#
您可以通过检查 Frameworks 选项卡来检查nuget.org本身中的特定软件包兼容的版本:
Compatible target framework(s)
Additional computed target framework(s)