C# Xamarin.格式的信号

C# Xamarin.格式的信号,c#,xamarin,xamarin.ios,xamarin.android,xamarin.forms,C#,Xamarin,Xamarin.ios,Xamarin.android,Xamarin.forms,我正在尝试为SignalR创建一个Xamarin.Forms PCL客户端。我找到的每个教程都是关于如何将signar添加到Xamarin.Android或Xamarin.iOS中。如何将signar添加到Xamarin.Forms项目中 我应该创建一个单独的PCL,称之为“代理”,然后在Xamarin.iOS、Android和Windows Mobile项目中使用这个PCL吗 如果1),我是否应该在每个项目中添加SignalR(除了PCL,我真正使用它的地方) 在创建Xamarin.Forms

我正在尝试为SignalR创建一个Xamarin.Forms PCL客户端。我找到的每个教程都是关于如何将signar添加到Xamarin.Android或Xamarin.iOS中。如何将signar添加到Xamarin.Forms项目中

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

    这是我遇到的问题: 我有一个完整的Xamarin.Forms PCL项目。不过我删除了所有windows的东西。我刚刚离开了PCL、iOS和Android项目。它起作用了!我只添加了CocosSharp,但不要使用它。朴素,空虚,从未接触过Xamarin.Forms。然后我将SingalR添加到PCL项目中。遵守,运行-工程!但当我加上这一行:

    var connection = new HubConnection("http://localhost:52128");   
    
    它甚至不编译。我发现了一些错误:

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

    我完全迷路了

    我试过:

  • 仅在PCL上安装nuget-错误

  • 在每个项目上安装-错误

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


  • 我遇到了与您相同的错误,似乎在安装
    SignalRMicrosoft.AspNet.signar.Client
    包时,依赖项包无法自动安装,引用以某种方式损坏

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

    分别从Nuget安装以下三个软件包:


    .

    使用此软件包时出现了什么错误?@LexLi感谢您的回复。请看我更新的问题,你应该用谷歌搜索如何在Xamarin.iOS和Xamarin.Android条目项目中进行程序集重定向,以映射到正确的JSON.NET版本。NuGet软件包(又名6.0)中引用的版本太旧。@LexLi我不确定我是否理解。这是否意味着nuget上的singalR包安装了旧版本的JSON.NET?这是nuget软件包中的一个bug?有趣的是,这是谁的错?SignalR、Xamarin和VisualStudio都得到了微软的支持,我在大约两年前的帖子中看到了这个问题(以及这个解决方案)。他们怎么可能没有修好呢?我问是因为我不确定,也许我做错了什么。关于解决方案。。。它看起来更好,可以编译,但我不确定问题是否解决了。但我无法连接到服务器。现在我不确定这是否是因为“本地主机”而不是真正的服务器?@Ishtamas,我看到了一些,这个解决方案应该可以解决问题,尽管我不明白为什么你的连接失败。因为这是一个不同的问题,我把它贴在这里:@Ishtamas,我不熟悉SignalR,你的这个问题是关于如何在Xamarin中使用这个包,我认为解决方案已经交付,你打开一个新线程来讨论连接问题是正确的,但我认为它与这个线程没有太大关系。