我正在尝试在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)。
我是否需要以不同方式或针对其他库进行编译?
谢谢!
答案 0 :(得分:1)
确保SignalR库和System,System.Web彼此兼容。如果您不使用这些库运行,或者它们是不同的版本,则可能会发生这种情况。