1.21. 当我的网络协议数超过50个的时候,为什么不能向发布程序?
请查看本文章的 "11.4. 为什么当网络协议数超过50个的时候,就不能向设备发布程序?" 部分。
1.22. 为什么会有跨平台代码?
.net精简框架和它的执行引擎是.net框架和CLR的子集。缺省的强名称策略,针对.net精简框架编译的程序同样可以在完整的.NET框架上运行,但会有一些重要的异常信息:
.net精简框架装配使用和.net框架不用的强名称签名,所以CLR可以区分它们。
在未来发布的.NET框架和CLR的绑定策略中将使用.NET框架装配代替兼容.NET精简框架参考。这样,在普通情况下,不需要重新连接就能重用组件。 例如:如果您的组件只引用了.net精简框架的 System 和 System.NET 类库,它则不需要重新连接就适合在.net精简框架和完整的.NET框架下运行。
如果你引用了.net精简框架特有的功能,如PocketPC特有的用户界面,程序将不能在完整的.net框架上运行。
如跨平台的中间组件的开发和发布,微软认为丰富的客户端应用应该利用智能设备特有的功能为用户带来更好的体验。这一味着好的图形用户界面基本上是客户端特有的。
尽管微软花费很大精力为不同设备和功能划分了不同的命名空间和装配以避免装配冲突,但在1.0的版本里还是会有不能处理的兼容性问题。在这种情况下,在.net框架上不经意地使用了设备专有的功能将会导致程序在运行时的异常,而不是载入时的异常。
1.23. 这些ARM指令代表什么?
XScale支持ARM v5指令集,同时也向下兼容ARM v4指令集。这里有三种情况:
ARMv4 -> 只支持32位ARMv4指令
ARMv4T -> 'T' 表示 Thumb. Thumb 是ARM16位指令模式
ARMv4I -> 'I' 表示 Interworking. 允许32位和16位指令共存
对于其他ARM处理器:
StrongARM (SA1110) -> 只支持ARMv4指令
ARM920T, etc -> 支持所有三种情况
.net精简框架支持三种ARM代码
ARMv4 for PocketPC 2000 and Pocket PC 2002. 支持所有ARM设备,包括XScale。发布到设备的CAB文件名包含有"arm"字符。
ARMv4 for Windows CE.NET. 支持由PlatformBuilder使用ARMv4核心编译的Windows CE.NET设备。Pocket PC 2003支持这种代码。发布到设备的CAB文件名包含有"armv4"字符。
ARMv4T or ARMv4I for Windows CE.NET. 支持由PlatformBuilder使用ARMv4T 或 ARMv4I核心编译的Windows CE.NET设备。发布到设备的CAB文件名包含有"armv4T"字符。
1.24. 怎样写注册表?
Visual Studio .NET 的发布中没有包括Windows CE的远程注册表编辑器。要修改注册键值,可以采用以下方法:
Microsoft Embedded Visual Tools Remote Registry Editor
Microsoft Windows CE Platform Builder Remote Registry Editor
PHM Pocket PC Registry Editor (共享软件,很容易在网上找到) 1.25. How can I prevent .CAB files from being deleted after installation?
Automatic deletion of .CAB files can be prevented by setting the property of the .CAB file(s) to Read Only.
1.26. How can I determine the version of the .NET Compact Framework that is installed on a device?
Each version of the .NET Compact Framework is released with a different Win32 File Version number (this is a separate version number from the Assembly Version, which should be the same across all releases of the Version 1 .NET Compact Framework, including Service Packs).
In order to see what version is installed, use File Explorer to navigate to the \Windows directory on the device, and click the file called CGACUTIL. You will get a message box showing you the Win32 File Version of the .NET Compact Framework installed on the device.
RTM = 1.0.2268.0
SP1 = 1.0.3111.0
SP2 Recall = 1.0.3226.0
SP2 Beta = 1.0.3227.0
SP2 Final = 1.0.3316.0
To determine the version programmatically you can use System.Environment.Version.ToString().
1.27. How do I copy files to the emulator?
One approach would be to create a file share on your development PC, and then connect to that share via File Explorer in the emulator. You may then copy and paste the files from the share to the emulator's local file system. Another approach would be to add the file(s) to a smart device project and set their Build Action(s) property to "Content". See the Visual Studio .NET online documentation for more information on "File Properties":
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcon/html/vbconfileproperties.asp
Step by step instructions for adding a "Content" file to a smart device project:
Open or create a smart device project,
On the View menu, click Solution Explorer,
In Solution Explorer, right-click on your project, point to Add, and click Add Existing Item. Browse to and add the desired file to the project.
Right-click on the file that you added, in solution explorer, and click Properties,
Set the Build Action property to "Content", if it is not already set. 1.28. Why does installation of the PocketPC 2002 SDK fail?
Symptom: The Pocket PC 2002 SDK installer hangs while "registering components."
Cause: An unregestered component causes the installation to hang while attempting to run the emulator.
Workaround: From a console window prompt:
cd \WINNT\system32
regsvr32 atl.dll
1.29. How do I debug a Web service consumed by a Smart Device application?
You need to attach the debugger to the ASP.NET worker process.
Refer to the following link for more information:
1.30. What is the footprint of the .NET Compact Framework?
.NET Compact Framework storage size:
1.55MB (ROM) on Pocket PC 2000/2002
1.35MB (ROM) on Windows Mobile for Pocket PC 2003 or Windows CE .NET Devices Running RAM requirements: