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

时间:2009-06-29 14:33:42

标签: windows mobile

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

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

任何人都可以帮助我。这是来自WM Application的代码,非常简单。

使用System; 使用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();
    }
}

}

2 个答案:

答案 0 :(得分:2)

有一个很好的解释: 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_ [语言] .CAB来实现此目的,其中[语言]对应于您想要的语言查看要显示的错误消息,然后单击cab文件进行安装

答案 1 :(得分:0)

听起来你错过了部署中的程序集。