【问题标题】:Debugging silverlight application problem调试silverlight应用程序问题
【发布时间】:2011-03-10 00:35:31
【问题描述】:

我的 VS2010 不会在 silverlight 应用程序内部的断点处停止。在调试期间似乎没有加载它的符号。当我将鼠标悬停在断点上时,它会显示“当前不会命中断点,没有加载任何符号”。

我已经尝试了谷歌提供的所有可能的解决方案,但都没有成功。即使我创建由 ASP .NET Web 项目托管的全新 Silverlight 应用程序,也会出现问题。我的所有项目配置看起来都很好 - 在 Web 项目中启用了 silverlight 调试。

我正在使用 Silverlight 4。 这里是从 tepmlate 创建的 link to the sample project。

有什么想法吗?

P.S 我刚尝试重新安装VS2010,问题依旧存在。

编辑:我刚刚在另一台机器上测试了同一个项目,它在断点处停止,表明问题出在 VS 或 silverlight 的配置中。

在 Matt Dotson 的帮助下,我设法手动附加了调试器。但是,这种解决方案对于日常使用来说还不够好。

【问题讨论】:

    标签: silverlight debugging


    【解决方案1】:

    如果这不起作用,那么

    • 重置 iis(如果您在其中进行调试)
    • 删除临时 asp.net 文件(%SystemRoot%\Microsoft.NET\Framework\versionNumber\Temporary ASP.NET Files)
    • 清理并重建您的解决方案

    【讨论】:

    • 我已经完成了所有这些 - 它没有帮助。我正在使用VS的开发服务器,所以我没有要重置的IIS。
    • 您是附加到运行 silverlight 的进程,还是直接按 F5?
    • 尝试 CTRL+ALT+P 并附加到其中包含 SL 的 IE 进程。
    • Ctrl+Alt+P 工作 - 10 倍很多。但这对于日常使用来说还不够好。
    【解决方案2】:

    你用的是什么浏览器?您需要使用 Internet Explorer 来调试 silverlight 项目。

    【讨论】:

    • @donal 完全不正确我使用 firefox 调试 Sl 项目。
    • @Malcolm:使用新的 Firefox 3.6.4 及更高版本,我无法调试任何 silverlight 项目。此版本将 silverlight 托管在一个特殊的容器中以供执行。
    • @Jehof 对此一无所知。 Tx 获取信息。因为我还在使用 Firefox 3.5
    • @Jehof 这里有一个解决方法:forums.silverlight.net/forums/t/188434.aspx
    • 到目前为止,我已经使用 FF 成功调试过了。我也有 IE 和 Chrome 的调试问题。
    【解决方案3】:

    经过 2 天的头撞后,决议来了。 Malcolm 给出的link 似乎完全涵盖了我的问题,但我的心胸狭隘,没有给予足够的关注,因为当我运行调试器时,只要使用应用程序运行调试器,我的默认浏览器就是 FF。所以我想在FF启动后我可以从IE或Chrome加载页面。

    其实问题是调试器不能附加到silverlight项目,因为FF。当我从 IE 或 Chrome 加载应用程序时,调试器仍然没有连接。

    感谢所有试图提供帮助的人。

    【讨论】:

    • 谢谢,这对我有用。此外,我必须重新启动 Visual Studio
    【解决方案4】:

    我也有过类似的令人沮丧的经历,但就我而言,解决方案非常简单。似乎不知何故,我真的不知道如何,Silverlight 的调试器选项在托管 ASP.NET 项目的属性中未选中。

    我只是假设我之前一直在调试,设置了这个选项,我没有费心去确保是这种情况。只是表明应该始终先检查基础知识;如果我这样做了,它会节省我一些时间。

    要在 VS2010 中检查这一点,请右键单击项目并选择属性,切换到 Web 选项卡并检查页面底部的调试器部分中的 Silverlight 选项。

    【讨论】:

      【解决方案5】:

      根据我在 Silverlight 中的经验,遵循这些步骤可让您的项目保持可调试性。

      条件一>

      首先,我们需要确保在 Web 项目的属性中有一个 Web 部分,如下所示,必须选中 Silverlight 复选框。

      条件 2> 跟随菜单调试 => 附加调试器>

      Visual Studio 有时无法附加您需要带路的调试平台 :) 。通过这种方式您可以调试其他平台,(您也可以调试您的产品平台,但pdb文件必须同步,不要忘记您可以使用此暂停您的产品平台)。

      条件 3> 您的默认网络浏览器可能是 Firefox、Chrome 或 IE 以外的其他浏览器。Visual Studio 默认尝试附加到 IE。但是当您运行 VS 调用默认浏览器时,您需要在条件 2 中有一个手动附件或通过右键单击默认页面 > 浏览来设置您的默认浏览器。

      条件4> web project\ClientBin目录下一般有xap文件。有时,在构建操作之后,无法替换此文件,并且您的 ProjectDll 和您的 Project PDB 文件不同步。这会导致调试时错误的行匹配或找不到附加的调试文件小心。我强烈建议删除 Bus 项目中所有生成的文件并删除 Clientbin\ProjectName.xap 文件。重建后一切正常!

      希望有所帮助。

      【讨论】:

        【解决方案6】:

        如果您有多个项目,请分别重建您想要断点的项目。它对我有用

        【讨论】:

          【解决方案7】:

          尝试从浏览器列表菜单中选择 Internet Explorer 作为您的浏览器

          【讨论】:

            猜你喜欢
            • 2010-12-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-13
            • 1970-01-01
            • 2011-04-13
            • 1970-01-01
            相关资源
            最近更新 更多