我正在尝试使用Grapevine实现一个简单的C# REST服务器。我正在OSX上使用Xamarin Studio。我把Grapevin4.0.0.195作为一个包。
但是,当我试图运行https://sukona.github.io/Grapevine/上的示例时,我会得到以下错误:
System.TypeLoadException:无法从程序集'Grapevine,Version=4.0.0.195,Culture=neutral,PublicKeyToken=null‘加载'Grapevine.Interfaces.Server.HttpListener’类型。在/Users/blah/Projects/Test/TestServer/Program.cs:12的Grapevine.Server.RestServer..ctor () 0x00006 in <5da3c1fcf3364795b3df98bfc8b714aa>:0 at TestServer.MainClass.Main (System.String[] args) 0x0000b
我检查了葡萄树的集合,发现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();
}
}
}
}发布于 2016-12-27 21:37:35
我也遇到了同样的问题,并发现了与Scott相同的反应(谢谢您的出色工作)!提到了ExtendedProtectionSelector。
所以,我回到了他以前的版本,我能够用葡萄版本3.1.0在xamarin上让葡萄树工作。
它也不能立即运行(我是为ios构建的,如果你会遇到android系统的相同问题的话,请看一下)。这会给您带来一些日志方面的错误,所以我在他的代码中到处做了关于日志记录的Ctrl+F,并对其进行了更改。我几乎把EventLogger.cs里的所有东西都删掉了
然后,在RESTServer中,哪里有报告错误的EventLogger,我只需将其更改为Console.Writeline,以描述调试时的错误。
祝好运!
https://stackoverflow.com/questions/41087072
复制相似问题