Raspberry Pi上Mono的SignalR错误

时间:2015-03-05 10:13:26

标签: c# mono raspberry-pi signalr

我正在尝试在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();
        }
    }
}

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

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

即使它在Xamarin Studio中有效,它仍然无法在Mac OS终端或Linux终端上运行(尝试过Ubuntu和Raspberry)。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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