我想弄清楚为什么NuGet没有下载Microsoft.AspNet.SignalR.Client
的正确版本。
为了使这个变得容易理解,这是我的项目:
.NET 4.6
和Windows Universal 10.0
的类库(可移植)项目。所有3个项目都有NuGet包Microsoft.AspNet.SignalR.Client
,WPF和UWP项目都有类Microsoft.AspNet.SignalR.Client.Transports.WebSocketTransport
可用。如果我将在WPF项目中创建的类复制到UWP项目,它会找到所有引用并且它不会给我任何错误;但是,如果我尝试对类库执行相同操作,则无法找到WebSocketTransport类。
如果类库项目与UWP项目具有相同的目标,为什么WebSocketTransport类不可用?
类库(可移植)project.json:
{
"supports":
{
"net46.app": {},
"uwp.10.0.app": {}
},
"dependencies": {
"Microsoft.AspNet.SignalR.Client": "2.2.0",
"Microsoft.NETCore": "5.0.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.0"
},
"frameworks": {
"dotnet": {
"imports": "portable-net452+win81"
}
}
}
通用Windows project.json:
{
"dependencies":
{
"Microsoft.AspNet.SignalR.Client": "2.2.0",
"Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
},
"frameworks":
{
"uap10.0": {}
},
"runtimes":
{
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
有什么方法可以让类库项目下载包含WebSocketTransport方法的NuGet包?我需要使用的SignalR集线器只允许使用WebSockets。
答案 0 :(得分:0)
我能够通过使用AutoTransport类来“破解”这个,它似乎在联系Hub时正确地选择了WebSockets传输,否则它将无法连接:
fnewton