C# 为什么我的程序不能在Pocket PC上打开?

C# 为什么我的程序不能在Pocket PC上打开?,c#,visual-studio,visual-studio-2008,windows-mobile,pocketpc,C#,Visual Studio,Visual Studio 2008,Windows Mobile,Pocketpc,我正在Visual Studio 2008中为我的Pocket PC制作一个程序,但无法打开该程序。我按照说明创建了一个cab文件,将其安装到设备上,但当我尝试单击程序时,它会加载半秒钟,然后什么也不做。该程序在模拟器中运行良好。您真的在使用Pocket PC设备吗?Pocket PC术语最后一次使用是在2003年。从那时起,该平台就被称为Windows Mobile。不要与Windows 10 Mobile混淆。在这方面,命名并不是微软的强项 如果你真的在为Pocket PC开发,你需要使用P

我正在Visual Studio 2008中为我的Pocket PC制作一个程序,但无法打开该程序。我按照说明创建了一个cab文件,将其安装到设备上,但当我尝试单击程序时,它会加载半秒钟,然后什么也不做。该程序在模拟器中运行良好。

您真的在使用Pocket PC设备吗?Pocket PC术语最后一次使用是在2003年。从那时起,该平台就被称为Windows Mobile。不要与Windows 10 Mobile混淆。在这方面,命名并不是微软的强项

如果你真的在为Pocket PC开发,你需要使用Pocket PC SDK

如果您的应用程序使用MFC,那么您的程序将依赖于MFC库来运行。解决此问题的最简单方法是静态链接到MFC

转到项目设置 转到常规标记页。 搜索MFC的用法,然后选择在静态库中使用MFC。 保存并重新生成项目。EXE的大小现在变大了,因为您已经静态链接到MFC。 如果您的应用程序使用Compact Framework,那么您的程序也将依赖.NET Compact Framework CF库来运行。解决此问题的最简单方法是包含VisualStudio文件夹中的CAB文件。然后可以运行CAB文件来安装.NET Compact Framework

导航到C:\Program Files x86\Microsoft.NET\SDK\CompactFramework\v2.0\WindowsCE\wce400\armv4文件夹。 将NETCFv2.ppc.armv4.cab文件复制到设备上。 在设备上,导航到NETCFv2.ppc.armv4.cab文件,然后单击该文件进行安装。
有关此主题的更多信息,请阅读。

能否包含显示此问题的代码的当前版本?代码没有任何错误。它只是一个按钮,使变量增加,然后显示在一个文本框中。我发现,如果我将解决方案直接部署到设备上,它就可以正常工作,只是在它通过cab时就不行了。没有太多关于程序的信息。如果它是一个MFC,并且在共享库中使用MFC,那么它将从VS运行,但当只部署exe而不部署MFC运行时,它不会运行。也许你可以添加更多的细节,比如项目文件和cab inf文件是的,我正在为运行WindowsMobile 2003的Pocket PC制作一些东西。在VisualStudio2008中,我选择Pocket PC 2003作为我的智能设备项目的目标平台。我只是在学习如何使用visualstudios,所以我真的不明白你的选择是什么意思;你能用普通人的话来说吗?当我将解决方案直接部署到设备上时,它在设备上运行良好,但看起来它还添加了两个名为Microsoft.NET CF 2.0和Microsoft.NET CF 2.0的程序。。。如果我尝试通过cab文件进行安装,则不会这样做。我希望它能够在出厂新设置设备上仅使用cab文件运行。必须安装Microsoft.NET Compact Framework 2.0,应用程序才能运行。当您按F5时,VisualStudio会为您执行此操作。它还为您复制MFC/CRT DLL。这解释了为什么调试或按F5时它对您有效。您可以按F5让Visual Studio将文件推送到设备。然后你可以在设备上抓取文件。它们通常以MS开头,以文件扩展名DLL结尾。然后按照这里的说明进行操作:这是一个非常常见的请求,但答案是否定的。如果您的目标是自动安装软件,那么您应该研究CABWIZ并编写一个简单的程序,使用CABWIZ以正确的顺序安装CAB文件。如果您使用的是流行的坚固设备,如Motorola/Symbol/Intermec/Honeywell,那么他们很可能已经安装了一个工具来处理CAB文件安装,您可以将其挂接。