【发布时间】:2013-03-11 13:48:23
【问题描述】:
我收到了这个错误消息:
异常:此异常有一条错误消息可用,但无法显示,因为这些消息是可选的,并且当前未安装在此设备上。 请为 Windows Mobile 5.0 及更高版本安装“NETCFv35.Messages.EN.wm.cab”或为其他平台安装“NETCFv35.messages.EN.cab”。重新启动应用程序以查看消息。
我徒劳地在我的 HD 中搜索了那个文件,把它拼了起来(砰的一声?),然后在这里找到了它:
http://www.codeplex.com/Download?ProjectName=beyondpod&DownloadId=29539
但是我需要在我的设备上的哪个位置安装它才能找到它?在根目录上,还是在应用程序所在的文件夹中?我是直接复制过来,还是有其他的问题?
更新
这:http://msdn.microsoft.com/en-us/library/bb986876.aspx 表示“默认位置是 C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Diagnostics。”但我的设备没有这样的路径。我能找到的最接近的是:
Computer\DuckbilledPlatypus's Device 2\\\Windows\SQLCE 2.0
-和:
Computer\DuckbilledPlatypus's Device 2\\\Windows\NETCFKeys
更新 2
我将出租车(也许我应该称它为死亡出租车,尽管我不会称自己为可爱)复制到设备的“根”并到应用所在的文件夹中,但我仍然收到关于无法显示错误消息的相同错误消息。 IOW:救命!
更新 3
即使在此处尝试修复后:http://blogs.msdn.com/b/martijnh/archive/2008/01/03/fixing-exception-messages-on-the-net-compact-framework-3-5.aspx(更改死亡驾驶室内文件之一的名称)我得到相同的旧 long-donkey err msg,它可能比被抑制的要长得多。
更新 4
仔细阅读http://blogs.msdn.com/b/martijnh/archive/2008/01/03/fixing-exception-messages-on-the-net-compact-framework-3-5.aspx 的修复程序,我看到有人说他们必须添加 System.SR.dll 作为项目参考。当我尝试这样做时,我得到,“无法添加对 '\System.SR.dll' 的引用。这不是 .NET 程序集。
啊啊啊啊啊啊啊!!!!!!!!!!!!
更新 5
通过“运行它”,我假设 ctacke 是指双击它(cab 文件)。这样做会调出 cab 中包含的文件:_setup.xml 以及四个非常时髦的命名文件。 2-clicking _setup.xml 调用了一个关于潜在有害 (xml) 文件的警告消息,但我大胆地继续前进(嘿,它不是 我的 计算机)。它似乎做了一些事情(虽然没有确认消息)。单击 2 次 _setup.xml 时打开的 XML 表明其中一个名称很时髦的文件将重命名为 System.SR.dll(手动执行此操作的人一定经历过一些失败事件)。再次尝试添加 System.SR.dll 作为对我的项目的引用似乎有效(至少没有错误消息;并且 System.SR.dll 比重命名的时髦命名文件小得多)。但是,当我运行我的应用程序时,我仍然会得到同样的爸爸抨击的非错误消息!如果另一边也有火,那么跳过那个箍有什么用?
不过,我确实注意到,非错误消息在其标题栏上标有:System.InvalidOperatio...”我不记得以前在那里看到过;也就是说,我没有注意它。不过,没有看到消息的其余部分,我仍然处于不透明的缩影中。
更新 6
啊哈!终于让它工作了:我不仅必须将它添加为我的项目的参考(实际上,也许这不是必需的),我还必须将新的更薄版本(91KB 与 338 相比)复制到手持设备上,两者在“根”和应用程序所在的文件夹中。我不知道这两者中哪一个是必要的,也并不在乎。
【问题讨论】:
-
您不只是复制 CAB,而是复制并运行它,这样它将在设备上安装资源 DLL。
-
在更新 5 中已回答上述问题。
-
嗯,您在设备上运行 cab 文件,而不是 PC。不需要参考,安装后CLR会找到。
-
PC 与 Windows 资源管理器中的手持设备建立了连接,这使我可以从 PC 影响手持设备。 IOW,我确实在手持设备上以一种虚拟的方式进行了操作,只是我在 Windows 7 中使用了资源管理器。无论如何,一旦我获得 System.SR.dll,它就可以工作了复制到需要的位置。
-
这就是问题所在。您必须在目标上执行 CAB,就像执行应用程序一样。它会导致安装的 cab 扩展并安装正确的文件。如果它最终显示内容,那么它是在桌面上执行的,这不是你想要的。你现在拥有的东西会起作用,但它很脆弱,不容易在开发人员之间重复。
标签: windows-mobile compact-framework windows-ce cab