我正在尝试使用Grapevine来实现一个简单的C#REST服务器。我在OSX上使用Xamarin Studio。我把Grapevine 4.0.0.195作为一个包。
但是,当我尝试运行https://sukona.github.io/Grapevine/上给出的示例时,我收到此错误:
System.TypeLoadException:无法加载类型 来自程序集'Grapevine的'Grapevine.Interfaces.Server.HttpListener', Version = 4.0.0.195,Culture = neutral,PublicKeyToken = null'。在 Grapevine.Server.RestServer..ctor()[0x00006] in < 5da3c1fcf3364795b3df98bfc8b714aa>:0在TestServer.MainClass.Main (System.String [] args)[0x0000b] in /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();
}
}
}
}
答案 0 :(得分:1)
我也遇到了同样的问题,并且发现了与Scott Offen相同的回复(感谢您的精彩工作顺便提一下!),提到了有关ExtendedProtectionSelector的内容。
所以我回到他以前的版本,我能够使用葡萄树3.1.0版本在葡萄树中使用葡萄树
它也不会开箱即用(我正在为ios构建,如果你遇到与android相同的问题,那就是idk)。它会给你一些关于日志记录的错误,所以我在他的代码中的每个地方都按Ctrl + F进行日志记录并更改了它。我几乎在EventLogger.cs中注释了所有内容
然后在RESTServer中,只要有一个EventLogger报告错误,我只需将其更改为Console.Writeline以描述调试时的错误。
祝你好运!