Xamarin.Forms 中的 SingalR

Ish*_*mas 4 c# xamarin.ios xamarin.android xamarin 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 项目。我删除了所有 Windows 的东西。我刚刚离开了 PCL、iOS 和 Android 项目。有用!我只添加了 CocosSharp,但不要使用它。简单、空洞、从未接触过 Xamarin.Forms。然后我将 SingalR 添加到 PCL 项目中。遵守,运行 - 有效!但是当我只添加这一行时:

var connection = new HubConnection("http://localhost:52128");   
Run Code Online (Sandbox Code Playgroud)

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

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

我完全迷路了。

我试过了:

  1. 仅在 PCL 上安装 nuget - 错误

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

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

Gra*_*eng 5

我遇到了和你一样的错误,似乎在安装SignalRMicrosoft.AspNet.SignalR.Client包时,无法自动安装依赖包,引用不知何故损坏了。

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

与 Nuget 分开安装以下三个包:

SignalRMicrosoft.AspNet.SignalR.Client

Newtonsoft.Json

微软.Net.Http