C# で TouchDB を使用してビューをクエリしようとしています。ここで入手可能な TouchDB と MonoTouch 間のバインディングを使用しました: https://github.com/mono/monotouch-bindings/tree/master/Couchbase
エミット デリゲート メソッドが呼び出されると、「アンマネージ コードに渡される型 MonoTouch.Foundation.NSObject には StructLayout 属性が必要です」という「System.Runtime.InteropServices.MarshalDirectiveException」が発生します。
ここでこのバグ レポートを見つけました: 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 のビューを正常にクエリした人はいますか? ご協力いただきありがとうございます