Raspberry Pi 上 Mono 的 SignalR 错误

SignalR error with Mono on Raspberry Pi

我正在尝试在 Raspberry Pi 上执行一些 C# 代码,特别是一些 SignalR 代码。

但问题是它编译得很好,创建了可执行文件,但是当我 运行 它时,我得到了这个错误。

HubConnection could not be loaded from SignalR Assembly in Raspberry Pi Mono Project

基本上,我遇到了同样的问题,只是那里的答案 (sudo apt-get install mono-complete) 对我不起作用,因为我已经有了它。

我收到此错误:

Could not load type 'Microsoft.AspNet.SignalR.Client.HubConnection' from assembly 'Microsoft.AspNet.SignalR.Client'

这是在 Windows 和 Xamarin(MacOS) 上运行良好的源代码:

using System;
using Microsoft.AspNet.SignalR.Client;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {

            var hubConnection = new HubConnection("http://mspmaplocator.azurewebsites.net");
            var hub = hubConnection.CreateHubProxy("MapHub");

            hub.On<string, string>("onMarkerPlace", (latitude,longitude) => Console.WriteLine("Latitude: {0} \nLongitude: {1}\n", latitude, longitude));

            hubConnection.Start().Wait();

            Console.ReadLine();
        }
    }
}

当我用 macs 编译这段代码时,我在终端中这样做。

mcs Program.cs -r:Microsoft.AspNet.SignalR.Client.dll

即使它在 Xamarin Studio 中工作,它在 Mac OS 终端或 Linux 终端(已尝试 Ubuntu 和 Raspberry)仍然无法工作。

我是否需要以不同的方式或针对其他库进行编译?

谢谢!

确保 SignalR 库和系统 System.Web 相互兼容。如果您不 运行 使用这些库,或者它们是不同的版本,则可能会发生这种情况。