Deployment 在Microsoft Compact Framework 2.0/3.5的mscorlib.dll中部署后找不到System.Threading

Deployment 在Microsoft Compact Framework 2.0/3.5的mscorlib.dll中部署后找不到System.Threading,deployment,windows-mobile,multithreading,method-missing,Deployment,Windows Mobile,Multithreading,Method Missing,我在windows mobile 6中遇到了一个问题。我开发了一个应用程序,并使用了mscorlib.dll程序集中System.Threading命名空间中的计时器类。问题是,当我调试它或通过在我的设备(HTC ELF0300)上从visual studio 2008创建适当的cab文件来部署它时,它运行良好,但当我们的客户端在他的设备(HTC Tilt 2)上部署它时,它会在System.Threading.Timer.ring()处给出TypeLoadException,在谷歌搜索了很久,

我在windows mobile 6中遇到了一个问题。我开发了一个应用程序,并使用了mscorlib.dll程序集中System.Threading命名空间中的计时器类。问题是,当我调试它或通过在我的设备(HTC ELF0300)上从visual studio 2008创建适当的cab文件来部署它时,它运行良好,但当我们的客户端在他的设备(HTC Tilt 2)上部署它时,它会在System.Threading.Timer.ring()处给出TypeLoadException,在谷歌搜索了很久,并将我在项目中引用的每个程序集都搜索到visual studio的IL DASM和对象资源管理器之后,我发现添加到cab项目中用于部署的mscorlib.dll在System中丢失了。线程命名空间和主项目中的mscorlib.dll正在显示给我对象资源管理器中的System.Threading命名空间。可能是由于这个原因,我们的客户正面临TypeLoadException的问题

但是,如果cab文件中的mscorlib.dll中缺少名称空间,那么cab文件如何在我的设备(HTC ELF0300)上部署并运行良好,而不是在HTC Tilt2上,我仍然感到困惑?如何在cab文件中添加正确的mscorlib.dll

任何帮助都将不胜感激。多谢各位

祖奈尔·米哈斯。

您的客户端是否在其设备上安装了正确版本的.NET Compact Framework

您不应该在CAB文件中包含mscorlib.dll,因为它是.NET Compact Framework的一部分,如果用户正确安装了它,则可以在其设备上找到它

询问您的客户是否可以在其设备上打开文件资源管理器,并查看是否可以看到
\Windows
文件夹中的文件
cgautil.exe

如果他能看到,请他打开它,检查屏幕上显示的版本号(2.0.xxxx或3.5.xxxx)。这将是他安装的.NET CF的版本


如果他看不到
cgautil.exe
,他将不会安装.NET CF,需要在运行应用程序之前安装它。

是.NET Compact Framework与设备的操作系统一起安装还是我们必须手动安装?我已经检查了cgacutil.exe命令,找到了我的.net compact framework v2.0,这意味着它是随操作系统一起安装的,是吗?在测试和调试期间,visual studio还在设备上安装了.net compact framework 3.5,即使在卸载了.net compact framework(visual studio安装的那一个)之后,该应用程序在我的设备上也可以正常运行。我正在使用.net compact framework 3.5和windows mobile 6 professional sdk进行开发。我还将要求客户检查他的设备。我还搜索了客户正在使用的设备(HTC Tilt2),知道它是一款智能手机,安装了windows mobile 6.5操作系统,我使用了windows mobile 6 professional sdk进行开发。从msdn中,我找到了以下受支持的平台图表()。平台也是问题吗?@Zunair:.NET Compact Framework安装在许多新手机上,但并非所有手机都安装了。这取决于设备制造商是否决定将其包含在ROM中。这可能是一个问题,您的客户端有Windows Mobile标准,而您使用的是Windows Mobile Professional。请尝试在Windows Mobile 6.5 Visual Studio标准仿真器中运行您的应用程序,并查看您的应用程序是否运行正常。