【发布时间】:2017-04-26 12:07:55
【问题描述】:
我正在尝试使用 Grapevine 来实现一个简单的 C# REST 服务器。我在 OSX 上使用 Xamarin Studio。我把 Grapevine 4.0.0.195 作为一个包拉出来了。
但是,当我尝试运行https://sukona.github.io/Grapevine/ 上给出的示例时,我收到此错误:
System.TypeLoadException:无法加载类型 来自程序集“Grapevine”的“Grapevine.Interfaces.Server.HttpListener”, 版本=4.0.0.195,文化=中性,PublicKeyToken=null'。在 Grapevine.Server.RestServer..ctor () [0x00006] 在 :0 在 TestServer.MainClass.Main (System.String[] args) [0x0000b] 在 /Users/blah/Projects/Test/TestServer/Program.cs:12
我检查了 Grapevine 组件,发现 HttpListener 确实存在。
这是我的Program.cs:
using System;
using Grapevine.Server;
namespace TestServer
{
public sealed class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
using (var server = new RestServer())
{
server.Start();
Console.ReadLine();
server.Stop();
}
}
}
}
【问题讨论】:
-
我以前没有使用过 Xamarin Studio。我会在 Mac 上安装它,看看能不能复制它。
-
据我所知,Xamarin 缺乏对
System.Net.HttpListener的ExtendedProtectionSelector属性的支持。 2017 年的第一个里程碑是多平台支持,这可能是我们需要解决的问题。同时,请在我们的Gitter room 中提出这个问题,因为我知道那里有些人正在将 Grapevine 与 Mono 一起使用。 -
我已经记录了这个here的问题
-
现在有一个 Grapevine 4.1 的 alpha 版本应该可以为您解决这个问题。