首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级SignalR

升级SignalR
EN

Stack Overflow用户
提问于 2019-03-08 17:06:25
回答 2查看 1.1K关注 0票数 0

在下面的解决方案中,安装了链接 SignalR版本1.0.1

SignalR没有出现在NuGet包列表中,所以我不知道如何升级它。它出现在SDK -> Microsoft.AspNetCore.App (2.1.1)下面,因此它是作为它的依赖项安装的。

我尝试通过使用SignalR安装最新的NuGet来升级它,但是代码没有获得最新的版本。我之所以知道这一点,是因为当我控制单击SignalR类型时,它会打开一个新文件,其中显示它正在使用:Assembly location: C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.signalr.core\1.0.1\lib\netstandard2.0\Microsoft.AspNetCore.SignalR.Core.dll

如何在这种情况下升级SignalR?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-08 23:32:00

ASP.NET Core SignalR是ASP.NET Core的一个组件,因此您不会单独升级它。ASP.NET核心被捆绑在托管平台中。因此,要升级ASP.NET Core SignalR (或ASP.NET Core),需要下载一个较新的.NET SDK,并使用较新的运行时构建/运行应用程序(如果有,则更改global.json的sdk部分,否则默认情况下它将使用最新版本。使用dotnet --info进行检查)。

您说您的应用程序目前正在使用Microsoft.AspNetCore.App的2.1.1版本,这告诉我您正在运行.NET Core2.1。在https://dotnet.microsoft.com/download上,.NET核心的最新版本是2.2,所以有一个可用的更新,尽管我不知道它将包括对SignalR的哪些更改。

编辑:您与SignalR的两个版本链接的页面清楚地说明了NuGet包的名称,但也向您展示了Microsoft.AspNet.SignalR与ASP.NET (System.Web)和OWIN服务器一起工作,而Microsoft.AspNetCore.SignalR与ASP.NET核心服务器一起工作。由于您的应用程序使用的是Microsoft.AspNetCore.App,所以您没有选择使用哪个版本的SignalR。如果要使用另一个项目,则必须创建一个使用.NET框架ASP.NET (使用System.Web)或使用OWIN库的新项目。

至于Microsoft.AspNetCore.SignalR NuGet包,如果您查看依赖项,就会发现它依赖于属于ASP.NET Core2.2的部分内容,因此与ASP.NET Core2.1应用程序不兼容。您可以尝试添加对最新SignalR包的引用,但当我尝试时,当我还原项目时,会得到以下错误消息:

C:\git\test\aspnetcoretest\aspnetcoretest.csproj :警告NU1608:在依赖约束之外检测到的包版本: Microsoft.AspNetCore.App 2.1.1需要Microsoft.AspNetCore.SignalR (>= 1.0.1 && but;1.1.0),但Microsoft.AspNetCore.SignalR 1.1.0版本已被解析。 C:\git\test\aspnetcoretest\aspnetcoretest.csproj :错误NU1107:为Microsoft.AspNetCore.Authentication.Abstractions.检测到的版本冲突将Microsoft.AspNetCore.Authentication.Abstractions 2.2.0直接安装/引用到项目aspnetcoretest以解决此问题。 C:\git\test\aspnetcoretest\aspnetcoretest.csproj : error NU1107: aspnetcoretest -> Microsoft.AspNetCore.SignalR 1.1.0 -> Microsoft.AspNetCore.Http.Connections 1.1.0 -> Microsoft.AspNetCore.Authorization.Policy 2.2.0 -> Microsoft.AspNetCore.Authentication.Abstractions (>= 2.2.0) C:\git\test\aspnetcoretest\aspnetcoretest.csproj : error NU1107: aspnetcoretest -> Microsoft.AspNetCore.App 2.1.1 -> Microsoft.AspNetCore.Authentication.Abstractions (>= 2.1.1 &&;2.2.0)。 C:\git\test\aspnetcoretest\aspnetcoretest.csproj.在964.82 ms内恢复失败

所以,正如我在第一段第一句中所说的,你不能单独升级它。如果要使用较新的SignalR,则编辑csproj并将<TargetFramework>netcoreapp2.1</TargetFramework>更改为<TargetFramework>netcoreapp2.2</TargetFramework>。如果您还没有安装.NET Core2.2SDK,就需要安装它。

票数 1
EN

Stack Overflow用户

发布于 2019-03-08 17:30:26

尝试将signalR .dll文件从NugetFallbackFolder中删除,然后我希望它在非回退文件夹中查找相关的.dll文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55067835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档