【问题标题】:PROBLEM :An error message cannot be displayed because an optional resource assembly containing it cannot be found问题:无法显示错误消息,因为找不到包含它的可选资源程序集
【发布时间】:2009-06-29 14:33:41
【问题描述】:

我创建了 Windows Mobile 应用程序并加载了包含一种方法 (GetNumber) 的 Web 服务。当我从模拟器中调用此方法时,出现以下异常

无法显示错误消息,因为找不到包含它的可选资源程序集。

谁能帮帮我。这是我的 WM Application 代码,非常简单。

使用系统; 使用 System.Collections.Generic; 使用 System.ComponentModel; 使用 System.Data; 使用 System.Drawing; 使用 System.Text; 使用 System.Windows.Forms; 使用 MobileClientApp;

命名空间 MobileClientApp { 公共部分类Form1:表格 {

    public Form1()
    {
        InitializeComponent();

    }

    private void button1_Click(object sender, EventArgs e)
    {
        MobileClientApp.localhost.WebService m = new MobileClientApp.localhost.WebService();
        int result;
        bool resbool;

        m.GetNumber(10, true, out result, out resbool);
        label1.Text = result.ToString();
    }
}

}

【问题讨论】:

    标签: windows mobile


    【解决方案1】:

    对于一个很好的解释: http://blogs.msdn.com/b/netcfteam/archive/2004/08/06/210232.aspx

    (摘自上文)

    关于错误消息有些混乱:“找不到资源程序集”。基本上,这意味着程序中发生了一些异常。错误没有发生,因为它找不到资源程序集。它正在搜索的资源程序集包含有助于调试程序问题的异常消息(字符串)。

    由于如果程序按预期工作并且所有异常都得到适当处理,则用户永远不会看到此错误消息,因此决定(由于大小限制)具有这些错误字符串的资源程序集永远不会放在用户的设备。因此,这些错误字符串的主要目标受众是想要调试问题的开发人员。因此,当您在设备上执行 F5 部署时,具有这些错误字符串的 System.SR.dll 程序集将被复制到设备,开发人员可以看到错误消息。但是,如果 .Net Compact Framework 是从可再发行组件安装的,或者您使用的是设备随附的 .Net Compact Framework(设备用户会这样做),则 System.SR.dll 不会出现在设备上。因此,如果应用程序确实遇到了应用程序未处理的异常情况,则会向用户显示此“找不到资源组合”消息。

    如果您没有使用 Visual Studio F5 部署到设备并且仍希望看到异常消息,您可以通过 System_SR_[Language].CAB 实现此目的,其中 [Language] 对应于您想要的语言查看出现的错误消息并单击 cab 文件进行安装

    【讨论】:

      【解决方案2】:

      听起来您在部署中缺少一个程序集。

      【讨论】:

        猜你喜欢
        • 2010-10-31
        • 2011-08-21
        • 1970-01-01
        • 2012-01-04
        • 2011-03-24
        • 2020-03-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多