c# - 在设计器中移动窗体上的控件时,Visual Studio 2012 突然崩溃

标签 c# winforms visual-studio-2012 crash .net-4.5

当我在某些元素上移动时(编辑:将其范围缩小到对调用了 SuspendLayout、ResumeLayout 和 PerformLayout 的控件进行大小/位置更改,并且仅当使用鼠标进行更改时 - 直接编辑可以正常工作)在设计器的 MainForm 上,VS 崩溃并告诉我它已停止工作。当我使用第二个实例进行调试时,调试器在 devenv.exe 中给出了未处理的 NullReferenceException。这个问题突然突然出现,而且似乎相当顽固 - 我修复了 VS,重新安装了 .Net Framework(4.5 SDK),重新启动机器,以管理员身份运行 VS 等。我使用的是 Windows 8 最新版本,我使用 Visual Studio 2012 高级版。

我使用的唯一第三方插件是 git-ext。

有人有遇到过这样的错误吗?直到今天,我相信这样的东西更多的是 Java/Eclipse 世界的主题...提前感谢您的任何提示,我在这里有点绝望:))我当然会提供所需的任何其他信息!干杯

编辑

这是我在使用 VS 的第二个实例进行调试时遇到的异常:

System.NullReferenceException was unhandled


HResult=-2147467261
  Message=Object reference not set to an instance of an object.
  Source=System.Design
  StackTrace:
       at System.Windows.Forms.Design.Behavior.BehaviorService.AdornerWindow.MouseHook.MouseHookProc(Int32 nCode, IntPtr wparam, IntPtr lparam)
  InnerException: 

按照凯尔的指示(非常感谢您的输入!!),到目前为止我尝试了以下操作:

  1. 重新启动进入安全模式 - 没有变化
  2. 创建新用户帐户 - 不变
  3. 删除所有插件并在安全模式下运行 - 没有变化
  4. 重置设置 - 不变
  5. 创建一个新项目(带有一些控件的简单形式) - 一切正常,没有崩溃,所以看起来问题确实与项目有关
  6. 修复 VS - 没有变化

编辑2

当我拖动新的 GroupBox 容器、更改其大小或删除它时,它也会崩溃

编辑3

按照 Avi 的说明,我能够解决该问题 - 这似乎是由 VS2012 中的错误引起的,我有一个 GroupBox 控件隐藏在其他一些控件后面,一旦我删除它,错误就消失了。

最佳答案

请尝试以下解决方法:

  1. 如果我们将操作系统重新启动到安全模式,是否会出现问题?这有助于隔离是否有任何其他应用程序干扰 Visual Studio。请注意,某些功能(如 IIS)在安全模式下不可用。请检查这是否适用。除了安全模式之外,您还可以尝试“干净启动”:http://support.microsoft.com/kb/310353 .

  2. 如果我们创建一个新的用户帐户,会有问题吗?这有助于隔离与用户配置文件损坏相关的原因。

  3. 如果我们禁用加载项(例如“工具”|“加载项管理器”)并运行“devenv.exe/safemode”,问题还会存在吗?这可以消除第三方加载项导致问题的可能性。

  4. 如果我们使用“devenv.exe/resetsettings”,是否可以解决问题?它恢复 Visual Studio 默认设置。

  5. 如果我们创建一个新项目,会有问题吗?有时,损坏的项目设置可能会导致问题。这些是特定于项目的。

  6. 如果问题仍然存在,我们可以使用 Visual Studio 安装向导(通过控制面板)来修复 Visual Studio。它可以将 Visual Studio 安装恢复到原始状态。

另外,请引用下面的连接链接,看看您是否遇到同样的问题。

http://connect.microsoft.com/VisualStudio/feedback/details/672192/visual-studio-keeps-crashing-for-a-c-windows-form-application-after-opening-a-source-file

关于c# - 在设计器中移动窗体上的控件时,Visual Studio 2012 突然崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18246792/

相关文章:

c++ - 重新定义 Catch 单元测试

visual-c++ - Visual Studio 2012 上的 FlyCapture SDK 问题

visual-studio - Visual Studio 2012 启动时无响应,并显示隐藏的错误消息(启动时有两个 clang )

javascript - 在drawImage、C#、AJAX、ASP.NET之后将图像从 Canvas 保存到网络服务器

c# - 编译时错误 父类(super class)型集合引用所引用的子类型集合对象

Winforms-如何使MessageBox显示在MainForm的中心?

c# - 如何选择datagridview任意列的最大值和最小值

c# - 如何检查 RavenDB 中是否存在表(实体)

c# - 使用 linq 生成动态集合

c# - 如何更改 XML 父标签