SignalR 版本 1.0.0 已发布,但我想安装旧版本 1.0.0-rc1。
我用了this command但 NuGet 似乎忽略版本标志并安装 1.0.0。
PM> Install-Package Microsoft.AspNet.SignalR -Version 1.0.0-rc1 -Pre
Attempting to resolve dependency 'Microsoft.AspNet.SignalR.JS (≥ 1.0.0-rc1)'.
Attempting to resolve dependency 'jQuery (≥ 1.6.4)'.
Attempting to resolve dependency 'Microsoft.AspNet.SignalR.SystemWeb (≥ 1.0.0-rc1)'.
Attempting to resolve dependency 'Microsoft.AspNet.SignalR.Owin (≥ 1.0.0)'.
Attempting to resolve dependency 'Microsoft.AspNet.SignalR.Core (≥ 1.0.0)'.
Attempting to resolve dependency 'Newtonsoft.Json (≥ 4.5.11)'.
Attempting to resolve dependency 'Owin (≥ 1.0)'.
Attempting to resolve dependency 'Microsoft.Owin.Host.SystemWeb (≥ 1.0.0)'.
Attempting to resolve dependency 'Microsoft.Web.Infrastructure (≥ 1.0.0.0)'.
'Microsoft.AspNet.SignalR 1.0.0-rc1' already installed.
Successfully added 'Microsoft.AspNet.SignalR 1.0.0-rc1' to GeoMVC.
最后一行声称 1.0.0-rc1 已成功安装,但显然 NuGet 正在解决 1.0.0 而不是 1.0.0-rc1 的依赖关系。当我查看项目中的引用时,它们是版本 1.0.0。
我尝试使用 uninstall-package Microsoft.AspNet.SignalR -force
卸载该软件包,然后重新安装。与上面相同。
我做错了什么?
最佳答案
发生这种情况的原因是因为 SignalR 1.0.0-rc2 上的依赖项都 >= 1.0.0-rc2,因此当它自动解析包时,会将它们解析为 rtw 版本。
没有神奇或简单的方法来解决这个问题,但解决方法是从基础开始安装软件包。例如,首先安装核心组件,然后沿着链向上安装。
Install-Package Microsoft.AspNet.SignalR.JS -Version 1.0.0-rc2 -Pre
Install-Package Microsoft.Owin.Host.SystemWeb -Version 1.0.0-rc2 -Pre
Install-Package Microsoft.AspNet.SignalR.Core -Version 1.0.0-rc2 -Pre
Install-Package Microsoft.AspNet.SignalR.Owin -Version 1.0.0-rc2 -Pre
Install-Package Microsoft.AspNet.SignalR.SystemWeb -Version 1.0.0-rc2 -Pre
Install-Package Microsoft.AspNet.SignalR-Version 1.0.0-rc2 -Pre
我相信这都是正确的。如果我忘记了什么,请告诉我。
希望这有帮助!
关于version - Nuget安装错误的包版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15031703/