【问题标题】:Starting a debugging session in Silverlight takes a very long time在 Silverlight 中启动调试会话需要很长时间
【发布时间】:2011-06-24 10:28:45
【问题描述】:

在我的 SL4 LOB 应用程序中,我可能已经达到 F5 1000x 或更高,没有任何问题。突然之间,现在按下 F5 最多可能需要 90 秒才能引发应用程序的启动事件。

我试过清除 IE 浏览器缓存,没有帮助。

我创建了一个没有任何代码的新导航应用程序,按 F5,立即启动,太棒了。然后我开始将相同的程序集引用从我的 SL4 LOB 应用程序添加到新创建的导航应用程序。添加每个引用后,我会按 F5 以确保应用程序能够立即启动;到目前为止一切顺利。

唉,我终于找到了 System.Windows.Controls.Data.Toolkit.dll,它在我原来的 SL4 LOB 应用程序中引起了同样的行为。我从导航应用程序中删除了引用,它会立即启动。它只有 33kb,所以我不能说我的符号缓存有问题。

有没有其他人见过这种奇怪的行为?任何见解将不胜感激。

【问题讨论】:

    标签: silverlight performance caching debugging symbols


    【解决方案1】:

    应用程序的小尺寸对于调试会话的启动速度并不重要。减速将是由您的应用程序中的大量依赖项引起的。

    您确实删除了一个极大地改进了事情的引用,而且这个单个 DLL 可能依赖于许多其他库。如果您使用Process Explorer 之类的工具检查该过程,您可以准确地看到在运行时加载了哪些库。

    这些无关的依赖是相当普遍的。您在 Visual Studio 中使用的项目向导几乎总是将依赖项添加到您的最终应用程序不会使用的项目。例如,XML 引用始终是您的默认项目的一部分,但并不总是需要使用 XML。在您最初创建项目后,检查并删除这些不必要的依赖项是一种很好的做法。如果需要,您可以随时返回并重新引用它们。

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 2014-05-30
      • 2017-05-26
      • 1970-01-01
      • 2013-11-15
      • 2014-02-23
      相关资源
      最近更新 更多