TouchDB Query视图引发MarshalDirectiveException

本文关键字:MarshalDirectiveException 视图 Query TouchDB | 更新日期: 2023-09-27 18:20:14

我正在尝试使用C#中的TouchDB查询视图。我在这里使用了TouchDB和MonoTouch之间的绑定:https://github.com/mono/monotouch-bindings/tree/master/Couchbase

当调用emit委托方法时,我会得到一个"System.Runtime.InteropServices.MarshallDirectiveException",上面写着"传递给非托管代码的类型MonoTouch.Foundation.NSObject必须具有StructLayout属性。"

我在这里找到了这个错误报告:https://bugzilla.xamarin.com/show_bug.cgi?id=4781这与我的问题类似,但自2012年7月27日以来没有任何更新。

这是我的测试代码:

CouchTouchDBServer server = new CouchTouchDBServer ();
CouchDatabase database = server.GetDatabase ("grocery-sync");
database.TracksChanges = true;
// Create a test view
design = database.DesignDocumentWithName ("grocery");
design.DefineView ("testView", (doc,emit) => {
    emit (doc, doc); // Crashes here
}, "1.0");
// Query the view
CouchQuery query = design.CereateQuery("testView");
RestOperation op = query.Start();
string response = op.ResponseBody.AsString;
Console.WriteLine(response);

是否有人使用MonoTouch在TouchDB上成功查询视图?感谢您的帮助

TouchDB Query视图引发MarshalDirectiveException

这似乎是Xamarin 的一个错误

相关文章:
  • 没有找到相关文章