System.accessviolationexception 试图读取或写入受保护的内存。这通常表明其他内存已损坏

Posted

技术标签:

【中文标题】System.accessviolationexception 试图读取或写入受保护的内存。这通常表明其他内存已损坏【英文标题】:System.accessviolationexception Attempted to read or write protected memory. This is often an indication that other memory is corrupt 【发布时间】:2011-03-11 20:42:00 【问题描述】:

我收到以下错误 。

访问外部dll的方法时。

我在许多其他项目中也使用过这个 dll,这些项目也使用 .net 3.5。这个外部 dll 使用来自另一个 dll 的方法。在这个项目之前,所有这些工作都很好。我不确定是什么原因造成的。我进行了很多搜索并尝试了人们建议的许多解决方案,但无济于事。如果我直接使用第二个 dll,即从 dll 调用的那个,它工作正常,但我不能这样做,因为我需要使用这个而不是直接使用第二个。

我们将非常感谢您的帮助。 问候 基数

【问题讨论】:

【参考方案1】:

首先,您的问题不包含有关何时发生错误的确切详细信息。

从外部 DLL 访问方法时,我遇到了同样的问题。这可以通过固定传递的参数来解决。有时 GC 会重新定位它们,它会导致上述错误。

尝试固定!

【讨论】:

以上是关于System.accessviolationexception 试图读取或写入受保护的内存。这通常表明其他内存已损坏的主要内容,如果未能解决你的问题,请参考以下文章