Mono NSKeyedUnarchiver中的回归
使用NSKeyedUnachiver的我的代码现在在使用Git中最新的monomac时抛出TypeLoadException:Mono NSKeyedUnarchiver中的回归,mono,xamarin,monomac,xamarin.mac,Mono,Xamarin,Monomac,Xamarin.mac,使用NSKeyedUnachiver的我的代码现在在使用Git中最新的monomac时抛出TypeLoadException: System.EntryPointNotFoundException: monomac_IntPtr_objc_msgSend_IntPtr at at (wrapper managed-to-native) MonoMac.ObjCRuntime.Messaging:monomac_IntPtr_objc_msgSend_IntPtr (intptr,intptr,i
System.EntryPointNotFoundException: monomac_IntPtr_objc_msgSend_IntPtr at at (wrapper managed-to-native) MonoMac.ObjCRuntime.Messaging:monomac_IntPtr_objc_msgSend_IntPtr (intptr,intptr,intptr) at MonoMac.Foundation.NSKeyedUnarchiver..ctor (MonoMac.Foundation.NSData data) [0x0002a] in /Users/richard/Development/MonoMacSources/gitsrc/monomac/src/Foundation/NSKeyedUnarchiver.g.cs:93
使用Xamarin Studio附带的monomac.dll版本,同样的代码运行良好
测试用例:
public NSTextFieldCell Cell = new NSTextFieldCell("string");
public override void AwakeFromNib()
{
base.AwakeFromNib();
Console.WriteLine(Cell.StringValue);
using(NSMutableData data = new NSMutableData())
{
using(NSKeyedArchiver archiver = new NSKeyedArchiver(data))
{
this.Cell.EncodeTo(archiver);
archiver.FinishEncoding();
}
using(NSKeyedUnarchiver unarchiver = new NSKeyedUnarchiver(data))
{
var cell = (NSTextFieldCell)Activator.CreateInstance(typeof(NSTextFieldCell), new object[] { unarchiver });
unarchiver.FinishDecoding();
Console.WriteLine(cell.StringValue);
}
}
}
在新的NSKeyedUnarchiver(数据))
处引发异常
有人有主意吗?或者解决方法?这实际上是Git最新MonoMac的回归 我将修复它(目前除了使用Git的早期版本外,没有其他解决方法)