用C#做界面,效率比MFC要高的多。
wince 下,如果需要制作界面,或者需要访问sqlce数据库,C#就非常方便了,如果用MFC,你会发现,访问sqlce
数据库需要设置很多COM接口很麻烦。
初次使用C#开发智能设备应用程序,也就是在wince上运行的应用程序,用VS2005把C#界面程序写好之后,然后编译调试下载。
出现了0x80070070: 磁盘空间不足
错误信息如下:
------ 已启动生成: 项目: File_cp, 配置: Debug Any CPU ------ File_cp -> D:/我的文档/Visual Studio 2005/Projects/File_cp/File_cp/bin/Debug/File_cp.exe ------ 已启动部署: 项目: File_cp, 配置: Debug Any CPU ------ 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Web.RegularExpressions/2.0.0.0__b03f5f7f11d50a3a/System.Web.RegularExpressions.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.ServiceProcess/2.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Design/2.0.0.0__b03f5f7f11d50a3a/System.Design.dll” 正在部署“C:/WINDOWS/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Web.Services/2.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll” 正在部署“C:/WINDOWS/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.DirectoryServices/2.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Drawing.Design/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.Design.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.DirectoryServices.Protocols/2.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.Protocols.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll” ” 正在部署“C:/WINDOWS/assembly/GAC_32/System.Data.OracleClient/2.0.0.0__b77a5c561934e089/System.Data.OracleClient.dll 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Deployment/2.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Data.SqlXml/2.0.0.0__b77a5c561934e089/System.Data.SqlXml.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Serialization.Formatters.Soap/2.0.0.0__b03f5f7f11d50a3a/System.Runtime.Serialization.Formatters.Soap.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualC/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualC.dll” 正在部署“C:/WINDOWS/assembly/GAC_32/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Configuration.Install/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Security/2.0.0.0__b03f5f7f11d50a3a/System.Security.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll” 正在部署“C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll” 正在部署“C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll” 部署和/或注册失败,错误为: 0x8973190e。 写入文件“%csidl_program_files%/file_cp/mscorlib.dll”时出错。错误 0x80070070: 磁盘空间不足。 ========== 生成: 1 成功或最新,0 失败,0 被跳过 ========== ========== 部署: 0 已成功, 1 已失败, 0 已跳过 ==========
错误 0x80070070: 磁盘空间不足
这个错误,试着在wince小调试内存大小,结果还是不能解决问题。
你会发现你的wince下已经下载了一对超大的DLL文件,把你的内存磁盘给消耗完了。
原因:C#依赖于.NET Compact Framework 2.0。
解决办法:
1.可以通过重新制定wince内核来将.NET Compact Framework 2.0选上。
2.可以将.NET Compact Framework 2.0安装到wince上。
安装.NET Compact Framework 2.0的方法:
到微软官方网站下载:.NET Compact Framework 2.0 先安装到PC上
.NET Compact Framework2.0下载地址:
.NET Compact Framework2.0
安装之前请先确保Microsoft ActionSync已经连接好。PC上安装上.NET Compact Framework2.0之后,他会自动将
.NET Compact Framework2.0安装到你的开发板wince上。
安装完之后,重新编译C#工程,就可以正常编译下载了,而不是超大的dll.