【问题标题】:Silverlight 4 / .NET 4 Debugging resource stringsSilverlight 4 / .NET 4 调试资源字符串
【发布时间】:2011-08-22 17:39:56
【问题描述】:

我最近遇到了一件奇怪的事情。在我公司的某些服务器上,当打印出异常消息时(是的,不好,我知道。这是为了调试),实际消息不会显示。相反,它显示外部字符串资源的键并显示“调试资源字符串不可用”

经过一番研究,我得出以下结论: 在发布模式下,Silverlight 不会将 xap 与包含实际错误消息的 dll 打包以节省空间。

我找到了旧版本的解决方法,但没有找到 4 的解决方法。似乎有 SL 2 和 3 运行时的开发人员版本可以自动解决错误,但我找不到 SL 4 的解决方法。

所以我的问题是这样的:

我需要对我的 SL 4 应用程序/计算机执行什么操作才能让我在它处于发布模式时查看完整、详细的错误?

【问题讨论】:

  • 很好的问题,我过去刚刚接受过这个问题,但它对于更好的崩溃报告会很有帮助。
  • 另一个烦人的事情是,MS 在他们的 SL 网站上有一个不起眼的小节,可以提供这些错误的详细信息,但似乎没有全部。
  • 开发者运行时可以在 Silverlight.net “开始”页面找到。

标签: silverlight silverlight-4.0 .net-4.0 error-handling


【解决方案1】:

您可以从 GetStarted 页面 - http://www.silverlight.net/getstarted/ 下载开发者运行时(其中包含完整的异常字符串) - 搜索“Developer Runtimes for Windows and OSX”,它位于页面底部附近。

【讨论】:

    【解决方案2】:

    虽然回复为时已晚,但可能对其他人有所帮助。我们有一个使用 Silverlight 4 的 Web 应用程序,安装在各种测试环境中。此 Web 应用程序使用多个 WCF 服务。除一个测试环境站点外,所有测试环境站点始终失败,并显示消息“调试资源字符串不可用”。令人愉快的是,真正的例外被吞下了。作为 Silverlight 应用程序,没有日志记录,而且 Silverlight 组件中似乎总是出现故障。我将开发环境中的应用程序连接到那个特定的测试环境,发现问题实际上出在 WCF 服务之一。我在服务端解决了这个问题,SL 组件停止了这个问题。

    为什么 WCF 失败了?

    WCF 服务在构造函数中有以下代码:

    public MyService()
        {
            //Create an instance of Data Lookup service asycnchronously.
            if (_dataLookupSrvc == null)
            {
                try
                {
                    System.Threading.Tasks.Task.Factory.StartNew(() => _dataLookupSrvc = new LookupDataService.LookupDataService());
                }
                catch (Exception ex)
                {
                    _log.Error<Exception>(ex);
                }
            }
        }
    

    有人从服务文件夹中移动了底层的 LookupDataService.dll,导致构造函数失败,但不是立即失败。由于 LookupDataService 实例是在匿名方法中创建的,因此该方法中的异常记录从未发生过。将 LookupDataService.dll 放入服务文件夹后,“调试资源字符串不可用”消息就消失了。

    这是一场有趣的大雁追逐!

    【讨论】:

      【解决方案3】:

      您是否已经在应用程序崩溃的机器上检查了事件查看器?开始->运行。事件vwr

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        相关资源
        最近更新 更多