SingamaR在Xamarin.Forms

我正在尝试为SignalR创建一个Xamarin.Forms PCL客户端。 我发现每个教程都是如何将SignalR添加到Xamarin.Android或Xamarin.iOS。 如何将SignalR添加到Xamarin.Forms项目?

  1. 我应该创建一个单独的PCL,称之为“代理”,然后在Xamarin.iOS,Android和Windows Mobile项目中使用此PCL吗?
  2. 如果1),我是否应该在每个项目中添加SignalR(除了PCL,我真的在使用它)?
  3. 我应该在创建Xamarin.Forms解决方案时添加默认创建的PCL吗?

感谢帮助,

这是我得到的问题:我有一个完全工作的Xamarin.Forms PCL项目。 我删除了所有窗口的东西。 我刚离开PCL,iOS和Android项目。 有用! 我只添加了CocosSharp,但不使用它。 平原,空虚,从未接触过Xamarin.Forms。 然后我将SingalR添加到PCL项目中。 顺便说一句,跑步! 但是当我添加JUST这一行时:

var connection = new HubConnection("http://localhost:52128"); 

它甚至没有编译。 我收到错误:

加载程序集时出现exception:System.IO.FileNotFoundException:无法加载程序集’Newtonsoft.Json,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed’。 也许它在Mono for Android配置文件中不存在

我完全迷失了。

我试过了:

  1. 在PCL上安装nuget – 错误

  2. 在每个项目上安装 – 错误

  3. 创建新PCL,在那里实现该行,将其添加为主PCL的引用。 从第二个PCL调用方法 – 错误。

我遇到了与你相同的错误,似乎在安装SignalRMicrosoft.AspNet.SignalR.Client包时,依赖包无法自动安装,引用以某种方式被破坏。

要解决此问题,您可以手动安装这些软件包。

从Nuget单独安装以下三个包:

SignalRMicrosoft.AspNet.SignalR.Client 。

Newtonsoft.Json 。

Microsoft.Net.Http 。