4
当这行代码被执行System.ExecutionEngineException被抛出
retobj = Marshal.PtrToStructure(buffer, anytype);
我不知道是什么原因造成这一点,因为此异常被抛出,应用程序,我试图运行工作正常与其他开发人员机器在这里。
public static object RawDeserialize(byte[] rawdatas, Type anytype)
{
int rawsize = Marshal.SizeOf(anytype);
if (rawsize > rawdatas.Length)
{
return null;
}
IntPtr buffer = Marshal.AllocHGlobal(rawsize);
object retobj = null;
try
{
Marshal.Copy(rawdatas, 0, buffer, rawsize);
retobj = Marshal.PtrToStructure(buffer, anytype);
}
finally
{
Marshal.FreeHGlobal(buffer);
}
return retobj;
}
我试图修复.NET Compact Framework的多次,似乎没有任何工作,没有人知道解决这个吗?
提供有关异常(以及任何'InnerException')的更多信息。 – Jon 2011-03-10 14:10:05
异常在InnerException中是否有更多信息? – 2011-03-10 14:10:27
内部异常为空。 '公共静态对象RawDeserialize(字节[] rawdatas,anytype类型) \t \t { \t \t \t INT rawsize = Marshal.SizeOf(anytype类型); \t \t \t如果(rawsize> rawdatas.Length) \t \t \t \t返回NULL; \t \t \t IntPtr buffer = Marshal.AllocHGlobal(rawsize); \t \t \t \t \t \t object retobj = null; \t \t \t尝试 \t \t \t { \t \t \t \t元帅。复制(rawdatas,0,buffer,rawsize); \t \t \t \t retobj = Marshal.PtrToStructure(buffer,anytype); \t \t \t} \t \t \t最后 \t \t \t { \t \t \t \t Marshal.FreeHGlobal(缓冲液); \t \t \t} \t \t \t return retobj; \t \t}' 这是包含该行的功能。除此之外,我不能提供任何更多的信息。 – user501211 2011-03-10 14:35:25