此错误首先看起来是随机发生的。
重新创建的步骤:
所以问题似乎可以重现。
但是,当尝试将其缩小到单个文件(加载解决方案时自动打开)时,我无法重现该问题。现在再次打开所有文件,问题就不会发生了!所以看起来它已经修复了 - 尽管以前发生过这种情况,但最终问题又回来了。
我认为这与带有 DevExpress 控件的用户控件之一有关 - 当错误发生时,设计器会显示错误。虽然我现在无法复制它来确认这一点。
这种情况暂时停止发生,所以我无法重现它。
尝试捕获异常并在此处发布调用堆栈。 要获取调用堆栈,请尝试使用需要哪些信息来解决产品在设计时出现的问题?中描述的方法。 另外,请确保项目引用的 DevExpress 程序集的 CopyLocal 属性设置为 false。 此外,应用程序的 bin 文件夹不应包含我们的程序集。 也许,这会帮助您解决这个问题。
当您尝试将空指针传递给本机方法并且该方法尝试从该空指针读取数据时,就会发生这种类型的错误,从而引发此错误。在您的代码中查找您可能正在使用的某些 P/Invoke 或第 3 方 DLL(可能正在使用 P/Invoke)。
一旦找到可能的方法,只需检查参数以确保没有参数为空(或者在 VB.NET 中,没有任何参数)