执行这行代码时抛出此异常
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,但似乎没有任何效果,有人知道解决方案吗?
最佳答案
如果您要调试程序,您会发现以下行抛出异常:
retobj = Marshal.PtrToStructure(buffer, anytype);
主要原因是编码工具不知道如何编码您的类型。这有很多可能的原因,我所知道的最常见的两个是:
希望能帮助到你。
关于c# - System.ExecutionEngineException 被抛出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5260701/