【问题标题】:Visual Studio crashes on opening Designer for a C++\CLI Form using .NET Framework 2.0Visual Studio 在使用 .NET Framework 2.0 打开 C++\CLI 表单的设计器时崩溃
【发布时间】:2012-03-26 06:24:10
【问题描述】:

我有一个用 C++\CLI 编写的 Windows 窗体。当我尝试在 Visual Studio 中打开表单时(通过说“视图设计器”),我发现 Visual Studio 崩溃了。

以下是 Windows 应用程序日志 -

.NET 运行时版本 2.0.50727.4963 - 致命的执行引擎错误 (768FB727) (800703e9)

注意:

  1. 我的项目是使用 .NET Framework 2.0 构建的
  2. 操作系统 - Windows Server 2008 x64
  3. 我已尝试重新安装 VS2005 和 .NET Framework 2.0,但没有成功

【问题讨论】:

  • 虽然我能够成功编译并运行应用程序
  • 您是否有任何包含设计时间代码的自定义控件?或者可能是一些第三方控件?
  • 我的表单中确实有自定义控件和第三方控件...但是在具有相同操作系统的另一个系统中打开表单(在设计视图中)时我没有遇到任何此类问题。跨度>
  • 然后进行堆栈跟踪,看看发生错误的最深的地方是什么。
  • 我真的需要堆栈跟踪,因为同一个表单在其他机器上打开得很好吗?如果是这样,该怎么做?注意:这台机器上的 .NET 运行时版本是 2.0.50727.4927,这与它失败的版本不同。 (故障机器有 .NET Runtime 2.0.52727.4963)

标签: .net visual-studio c++-cli


【解决方案1】:

@linkerro - 你说得对,问题实际上出在我的表单在设计时加载的一些第三方用户控件中。

我使用程序集绑定日志查看器 (fuslogvw.exe) 找出绑定失败的原因。

【讨论】:

  • 这不是绑定失败,它会因 StackOverflow 错误而崩溃。很容易被代码中的错误触发。
  • 好吧,汉斯...所以这就是我解决问题的方法...我在我的应用程序中使用了一些第三方控件。这些第三方控件是我在项目中引用的 .NET 程序集。我添加了对程序集的静态引用。因此,我的应用程序能够正常编译和运行。但是当设计器尝试加载程序集时,它无法在 devenv.exe 的本地文件夹中找到程序集,甚至在 GAC 中也找不到。因此它失败了。在 GAC 中安装程序集解决了该问题。如果我错了,请纠正我。
  • 我不打算与解决方案争论。也许您的异常处理很糟糕。重要的是要注意真正的错误代码对于有一天发现此问题的任何人所说的内容。
猜你喜欢
  • 1970-01-01
  • 2015-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多