【问题标题】:Visual Basic compiler is unable to recover from the following error: System Error &Hc0000005& (Visual Basic internal compiler error)Visual Basic 编译器无法从以下错误中恢复:系统错误 &Hc0000005&(Visual Basic 内部编译器错误)
【发布时间】:2011-07-01 16:39:50
【问题描述】:

此错误最初似乎是随机发生的。

重建步骤:

  1. 打开 Visual Studio 并加载解决方案(某些文件会自动打开) - 这就是问题发生的时候
  2. 关闭所有打开的文件
  3. 重新启动 Visual Studio 并加载解决方案(没有问题)
  4. 再次打开完全相同的文件,重新启动 Visual Studio 并加载解决方案,以便文件自动打开(出现问题!)

所以问题似乎可以重现。

但是,当尝试将其缩小到单个文件(加载解决方案时自动打开)时,我无法重现该问题。现在再次打开所有文件,问题不会发生!!!所以看起来它已经修复了 - 尽管这发生在之前,但最终问题又回来了。

我认为这与其中一个带有 DevExpress 控件的用户控件有关 - 当错误发生时,设计器会显示错误。虽然我现在无法重现它来确认这一点。

暂时已经停止,所以无法重现。

【问题讨论】:

  • 这种情况是否经常发生,偶尔发生?您是否确定项目中的哪些代码导致编译器崩溃?
  • 还没有,它开始突然发生。唯一的变化是 Windows 更新。似乎偶尔会发生。重启 vs 不会让它消失,重启计算机会。
  • 此外,了解您使用的版本/构建也会有所帮助。我倾向于发现一些 VS 插件会导致 VS 中的 DE 出现问题。

标签: vb.net visual-studio-2008 compiler-construction compiler-errors devexpress


【解决方案1】:

尝试捕获异常并在此处发布调用堆栈。要获取调用堆栈,请尝试使用What information do you need to fix a problem, which occurs with your products at design time? 中描述的方法。此外,请确保项目引用的 DevExpress 程序集的 CopyLocal 属性设置为 false。此外,您的应用程序的 bin 文件夹不应包含我们的程序集。也许,这将帮助您解决这个问题。

【讨论】:

  • 我会调查一下 - 它暂时停止了(项目没有任何改变)
【解决方案2】:

当您尝试将空指针传递给本机方法并且该方法尝试从该空指针中读取时,会发生这种类型的错误,这会引发此错误。在您的代码中查找您可能正在使用的某些 P/Invoke 或第 3 方 DLL,它可能正在使用 P/Invoke。

找到可能的方法后,只需检查参数以确保没有参数为空(或在 VB.NET 中为空)

【讨论】:

  • 奇怪,我没有使用类似的东西,只有第三方 DLL 是 dev express。
猜你喜欢
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-26
  • 1970-01-01
相关资源
最近更新 更多