我正面临阻塞问题...... 我有一个项目(iOS,在这种情况下),引用PCL(由我制作),它本身引用了Newtonsoft.Json便携版
App - >我的PCL - > Newtonsoft.Json
Everything编译得很好,但在运行时,当使用我的PCL调用Newtonsoft.Json的方法时,我得到一个TypeLoadException
实施例: 一个简单的PCL,引用Newtonsoft.Json Portable,只有这样一个类:
public class MyClass {
public int Test() {
var json = @"{""t"":16,""s"":""test""}";
var o = JObject.Parse(json);
return o["t"].Value<int>();
}
}
一个简单的应用程序,带有一个按钮,带有此事件处理程序:
partial void Test() {
var c = new MyClass();
var i = c.Test();
new UIAlertView("", i.ToString(), null, "Close").Show();
}
在点击“var i = c.Test();”行时点击按钮时出现TypeLoadException !
甚至更奇怪,当替换它时:
return o["t"].Value<int>();
用这个:
return (int)o["t"];
我没有得到TypeLoadException,而是一个MissingMemberException,并显示以下消息:
缺少方法Newtonsoft.Json.Linq.JToken :: op_Explicit(JToken)in 部件 /Users/Ingham/Projects/TestPCL-iOS/TestPCL-iOS/bin/iPhoneSimulator/Debug/Newtonsoft.Json.dll, 在程序集中引用 /Users/Ingham/Projects/TestPCL-iOS/TestPCL/bin/Debug/TestPCL.dll
我真的看不出我做错了什么......
我为我的PCL尝试了很多可能的配置文件组合,但没有任何效果......
有什么想法吗? 提前谢谢!
您可以在此处下载示例项目(Xamarin.iOS): https://www.dropbox.com/s/lsclrg5d1cor1dk/TestPCL.zip