【问题标题】:VS 2012 hangs on loading XAML designerVS 2012 挂起加载 XAML 设计器
【发布时间】:2014-05-21 15:53:29
【问题描述】:

我们在 WPF 项目中使用 MVVM 并使用 DI。现在我们正在开发 VS 2012。每当我们打开视图(XAML 表单)时,XAML 设计器都会显示加载消息。然后,每当我们尝试更改 XAML 代码面板时,VS 就会挂起(虽然它在加载消息时被冻结)。 XDesProc.exe 占用大约 13% 的 CPU(因为我有 8 个核心,所以它占用了 100% 的核心)。当我关闭它时,VS 会停止。但是,如果您更改 XAML 代码,则会再次重复该场景。

在同样的情况下,我们对 VS 2010 没有任何问题。

怎么了?

【问题讨论】:

  • 我知道你确实尝试过构建/清理解决方案?
  • WPF 设计器在 VS2012 中进行了大量修改,是最后稳定在 beta 中的组件之一。它看起来确实有一些残留的问题(也就是潜在的错误)。您可以在 connect.microsoft.com 上创建反馈文章,他们需要一个重现项目,以便他们可以调试它。如果您迫不及待,请使用 Microsoft 支持。
  • 最新版本的 Blend 中是否也会出现这种情况?
  • 我经常看到这种情况。 XAML 设计器非常古怪。不确定是否只是因为我安装了 Resharper。我还不得不多次杀死 XDesProc.exe,因为它锁定了我的系统。我在 SSD 上有 8 个内核和 16GB 的 RAM...我怀疑硬件是个问题...
  • VS 2012 Ultimate Update 3 中仍然存在问题。

标签: wpf visual-studio-2012


【解决方案1】:

此线程中描述了一种解决方法:

Visual Studio 2012 hangs on editing XAML

总而言之,你可以让 VS 不使用 XAML 设计器,而只使用常规的源代码编辑器:

  1. 在解决方案资源管理器中右键单击 XAML 文件
  2. 选择“打开方式...”
  3. 选择“源代码(文本)编辑器”
  4. 点击“设为默认”
  5. 点击确定
  6. 大功告成!

【讨论】:

  • OP 询问如何打开 XAML Designer 而不是文本视图,因此这几乎不是解决方案。
  • 我遇到了同样的问题,对此感到非常沮丧,这是我发现解决它的最佳方法。解决办法总比没有解决方案好。
【解决方案2】:

我的观点之一也有同样的问题。这不是一个真正的解决方案,但我注意到,当我注释掉 DataContext 属性时,cpu 负载消失了。

  1. 打开 Xaml 文件(cpu 负载上升)
  2. 使用视图模型绑定注释掉 DataContext 属性
  3. 在 TaskManager 中杀死 XDescProc.exe
  4. 重新加载设计器(无 cpu 负载)

【讨论】:

    【解决方案3】:

    尝试安装 Visual Studio Update 1 的最新更新。如果更新后问题仍然存在,请将问题提交给Microsoft Connect

    【讨论】:

      【解决方案4】:

      请确保,如果您在构造函数中有任何代码或任何其他可能在设计器中执行的代码,您会检测到设计模式并且不执行该代码。

      您可能正在连接到数据源,而设计人员可能对此感到窒息。

      见:Is there a way to check if WPF is currently executing in design mode or not?

      【讨论】:

        【解决方案5】:

        我们电脑的 VS2012 已经更新到 Update 4,但它仍然在加载 XAML 设计器时挂起..

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-03-09
          • 2016-01-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多