运行时封送器无法封送的内容是什么?的意思

本文关键字:是什么 意思 运行时 | 更新日期: 2023-09-27 18:10:34

在编译c# ASP时,我从Visual Studio 2008中得到奇怪的警告。网络应用程序。谁能给我一个解释(如果可能的话,用几个音节的话)这个警告是什么意思?

IasHelper的至少一个参数。"过程"不能是由运行时编组器编组。因此,这些论点将是作为指针传递,可能需要不安全的代码来操作。

运行时封送器无法封送的内容是什么?的意思

Marshal类负责将非托管代码/类转换为托管类,反之亦然。请参阅Marshal类的msdn文档。

如果您包含一些互操作程序集来访问COM对象或诸如此类的对象,则可能会发生Marshal(l)er无法处理该操作的情况。因此,您的程序中运行着准非托管部分,这反过来会导致缓冲区溢出之类的糟糕事情。因此,您离开了安全、舒适的托管代码世界,进入了C/c++及其可怕的兄弟的通风、危险的领域。: -)

听起来你在引用一个ActiveX对象,它给了tlbimpp .exe一个艰难的时间来封送一些方法和结构成员之间的COM和。net的参数。

这可能发生在干净构建期间,因为这是唯一需要运行tlimp的时间。