分享
 
 
 

NETFramework1.0精简版

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

简介

Microsoft 开发 .NET Framework 精简版的目的就是:开发应用程序。我所说的应用程序是指那些用来显示、收集、处理和转发信息的应用程序,也就是那些能够促使用户携带某个设备的应用程序。尽管这些应用程序通常都有一个界面,但实际上它们并不需要。它们可以使用本地数据,也可以使用远程数据,或者同时使用这两种数据。

.NET Framework 精简版简化了在智能设备上开发应用程序的过程。目前,智能设备包括 Pocket PC、Pocket PC 2002、Pocket PC Phone Edition 以及运行 Windows CE.NET 4.1 或更高版本的其他设备。

您需要使用 Visual Studio .NET 2003 来创建针对 .NET Framework 精简版的应用程序。可以使用 Visual C# .NET 和/或 Visual Basic .NET 创建应用程序。

.NET Framework 精简版有两个主要组件:公共语言运行库和 .NET Framework 精简版类库。

运行时是 .NET Framework 精简版的基础。它负责在执行时管理代码,提供内存管理和线程管理等核心服务,同时又确保代码的安全性和准确性。针对运行时的代码称为托管代码,不针对运行时的代码称为非托管代码或本机代码,eMbedded Visual C++ 中的代码即是非托管代码。

.NET Framework 精简版类库是可以重复使用的类的集合,您可使用它快速方便地开发应用程序。设计这种框架时考虑了其适用性,是适用于 Microsoft,还是适用于第三方平台。这对用户来说意味着什么呢?简单来说,如果 .NET Framework 精简版的某个版本是为某个平台(例如,移动电话或其他供应商的 PDA)创建的,那么您所使用的编码技术以及今天您为 Pocket PC 创建的应用程序将同样可以在这个平台上运行。

公共语言运行时

公共语言运行库提供了管理 .NET Framework 精简版代码的执行环境。代码管理的形式可以是内存管理、线程管理、安全性管理、代码验证和编译以及其他系统服务。

运行时是为了增强性能而设计的。它使用实时 (JIT) 编译的方法,使托管代码能够以运行应用程序的平台的本机语言运行。这样,您就可以创建适用于多种平台的应用程序,而不用再担心如何分别为每个平台重新编译或重新生成可执行程序了。

即使您的移动应用程序与托管代码一样都是用 Visual Basic .NET 或 C# .NET 编写的,仍然可以集成存储在动态链接库(DLL,包括 Windows CE API)外部的功能和子例程。.NET Framework 精简版提供的数据类型以及对结构的支持使您能够轻松地将 Windows CE API 的功能集成到您的应用程序中。

.NET Framework 精简版类库

.NET Framework 精简版类库是与公共语言运行库紧密集成的可重复使用类的集合。您的应用程序将利用这些库来派生出所需的功能。

就象其他面向对象的类库一样,.NET Framework 精简版类型可用于完成许多常见的编程任务,包括界面设计、利用 XML、数据库访问、线程管理和文件输入/输出等。

下面介绍通过 .NET Framework 精简版可以获得的常用功能。

与窗体相关的类

.NET Framework 精简版实现了 System.Windows.Forms 和 System.Drawing 类的子集,使您能够为设备应用程序创建一个基于 Windows CE 的丰富的用户界面。Visual Studio.NET 中的 Form Designer(窗体设计器)将替您管理与这些类进行的大部分交互。

可以在 .NET Framework 精简版下实现的 Windows 窗体包括:窗体支持、.NET Framework 中的大多数控件以及集成的第三方控件、位图和菜单。表 1 列出了 .NET Framework 精简版中包括的控件。

表 1:.NET Framework 精简版中包括的控件

控件

说明

Button

简单的命令按钮

CheckBox

常见的复选框

ComboBox

包含多个项目的下拉列表

ContextMenu

实现上下文相关菜单

DataGrid

可以绑定到数据源的网格

DomainUpDown

可以通过滚动条浏览的项目列表

HScrollBar

水平滚动条

ImageList

存储图像的容器

InputPanel

控制软键盘输入面板 (SIP)

Label

用于显示文本的简单控件

ListBox

提供项目列表

ListView

提供四种数据视图:大图标、小图标、列表和详细资料

MainMenu

实现窗体上的菜单

NumericUpDown

包含滚动条的数字输入字段

OpenFileDialog

访问本机上的打开文件对话框

Panel

用于保存其他控件的容器

PictureBox

显示图像

ProgressBar

可视的任务进度指示器

RadioButton

常见的单选按钮

SaveFileDialog

访问本机上的保存文件对话框

StatusBar

用于显示文本的简单面板

TabControl

为应用程序提供选项卡界面

TextBox

标准的文本输入字段

Timer

基本的计时器组件

ToolBar

实现窗体上的工具栏

TrackBar

数字数据使用的滑块界面

TreeView

以层次结构的形式显示数据

VScrollBar

垂直滚动条

Label 用于显示文本的简单控件ListBox 提供项目列表ListView 提供四种数据视图:大图标、小图标、列表和详细资料MainMenu 实现窗体上的菜单NumericUpDown 包含滚动条的数字输入字段OpenFileDialog 访问本机上的打开文件对话框Panel 用于保存其他控件的容器PictureBox 显示图像ProgressBar 可视的任务进度指示器RadioButton 常见的单选按钮SaveFileDialog 访问本机上的保存文件对话框StatusBar 用于显示文本的简单面板TabControl 为应用程序提供选项卡界面TextBox 标准的文本输入字段Timer 基本的计时器组件ToolBar 实现窗体上的工具栏TrackBar 数字数据使用的滑块界面TreeView 以层次结构的形式显示数据VScrollBar 垂直滚动条

由于 .NET Framework 精简版是 .NET Framework 完整版的子集,因而精简版包括的控件也是完整版的功能的子集。出于规模和性能方面的考虑,.NET Framework 精简版未包括某些控件属性、方法和事件。但如果需要,您只要完成少量的编码工作,就可以自己实现这些未包含的功能。这是因为 .NET Framework 精简版允许用户根据基础控件类创建自己的控件。这样,您就可以通过添加自己的属性、方法和事件来创建您自己真正需要的控件。

数据和 XML 类

.NET Framework 精简版包括一组类,使您能够轻松地将来自关系型数据源或非关系型数据源的数据(包括 XML 内容)集成到您的移动应用程序中。这些类是在 System.Data 和 System.Xml 命名空间下定义的。.NET Framework 精简版所实现的数据和 XML 类是 .NET Framework 中的数据和 XML 类的子集。

Web Services

.NET Framework 与 Web 服务结合紧密。.NET Framework 精简版的 System.Web 命名空间所提供的功能是相应的 .NET Framework 命名空间提供的能力和功能的子集。更重要的是您可以创建 Web 服务客户端,但不能通过 .NET Framework 精简版来提供 Web 服务。

这些 XML Web Service 客户端可以同步,也可以异步。创建用于 .NET Framework 精简版的 XML Web Service 客户端非常容易。使用 Visual Studio .NET IDE 可以完成大部分工作。

GDI 支持

.NET Framework 精简版通过 System.Drawing 命名空间支持基本的 GDI 绘图元素,包括位图、笔刷、字体、图标和画笔等。

基类

.NET Framework 精简版提供了许多基类,为开发人员提供了大量的功能。使用这种基础结构可以编写多种 .NET 应用程序,包括能创建多线程应用程序的应用程序 (System.Threading)、利用网络资源的应用程序 (System.Net) 以及处理文件的应用程序 (System.IO)。

IrDA 支持

Windows CE 设备(例如 Pocket PC 和 Pocket PC 2002)具备红外线 (IR) 通信能力。为了支持这种通信能力,.NET Framework 精简版中包括了许多类,使用户能够在自己的应用程序中利用 IR 通信。这些类是 System.Net.IrDA 命名空间的一部分。您可以使用 IR 与 Pocket PC、打印机以及其他支持 IR 的设备进行通信。

Bluetooth 支持

.NET Framework 精简版本身并不支持 Bluetooth.用户可以通过串行端口通信或通过供应商的 API 来访问针对 Pocket PC 的大多数第三方 Bluetooth 支持。

Visual Basic 支持

Visual Basic .NET 可以不受限制地使用 Visual Basic Helper 库中的辅助功能。.NET Framework 精简版也包括一部分辅助功能。之所以包括这些辅助功能,是因为 Visual Basic 开发人员认为它们是这种语言的核心组成部分。

对于正在转换到 .NET Framework 精简版的 Visual Basic 或 eMbedded Visual Basic 开发人员来说,这意味着您过去经常使用的许多 Visual Basic 语言功能在 Visual Basic .NET 中同样可以获得。

自选功能

为了节省目标设备上的资源,Microsoft 将 .NET Framework 精简版分成几个逻辑组件。通过将组件作为单独的 DLL(或者 .NET Framework 精简版中所说的程序集)进行传递,Microsoft 使您能够选择所需的功能,并且只选择目标设备上能够容纳的功能。

System.SR 程序集就是这样一个例子,它包含错误信息字符串。在应用程序中包括这样一个程序集后,用户就可以了解所发生的任何错误的详细信息。这在调试阶段非常有用,但等到将产品投入生产后,可能就不太需要了。即使应用程序中不包括这个程序集也不会影响应用程序的性能或功能,只是您不能查看详细的错误信息而已。

.NET Framework 精简版自选功能实现方法的另一个例子是 SQL Server CE 组件,该组件以一组 DLL 的形式进行传递,总体大小稍稍超过 1 MB.除非您在应用程序中添加对 System.Data.SqlServerCe 程序集的引用,否则应用程序中将不包括这些 DLL.

.NET Framework 精简版不包括的功能

Microsot 已经对 .NET Framework 进行了一些重大的删减,使它能够适应 Windows CE 的操作限制。下面将介绍 .NET Framework 中包括而 .NET Framework 精简版中不包括的某些重要功能。

方法重载

重载方法即通过其他方式调用该方法,但它同时也增加了 .NET Framework 的大小。因此,.NET Framework 精简版几乎删除了所有方法的重载。

这有两层含义。第一,开发基于 .NET Framework 精简版的应用程序时,您很有可能会发现以前用于桌面应用程序的某个方法重载在 .NET Framework 精简版中却找不到。第二,当您阅读 .NET Framework 精简版文档时,要特别注意它是否支持某种方法。

缺少的控件

.NET Framework 的很多控件都没有包括在 .NET Framework 精简版中。对于移动开发人员来说,缺少这些控件并没有太大的影响。由于打印功能在移动应用程序中的作用非常有限,因此删除与打印有关的所有控件都不会有什么问题。这些控件包括 CrystalReportViewer、PageSetupDialog、PrintDialog、PrintDocument、 PrintPreviewControl 和 PrintPreviewDialog.缺少的这些对话框几乎都可以用您自己的对话框替代,或者使用 Windows CE API 直接访问系统对话框。

可以用第三方控件替代 .NET Framework 精简版中缺少的控件。有关第三方 .NET Framework 精简版控件的列表,请参阅本文结尾处的参考信息。

XML 功能

.NET Framework 精简版也对其提供的 XML 功能作了同样的删减。缺少的主要 XML 组件是 System.Xml.XPath 命名空间。使用 XPath 命名空间进行 XML 分析比使用 .NET Framework 精简版提供的方法要容易得多。如果缺少 XPath 命名空间,则可以结合使用递归和迭代方法对文档对象模型 (DOM) 进行搜索。

.NET Framework 精简版缺少的另一个主要 XML 组件是可扩展样式表语言转换 (XSLT)。使用 XSLT,您可以将 XML 文档转换为不同的格式。

对于 XML 需要说明一点,.NET Framework 精简版目前不支持开发基于设备的 XML Web Service.

数据库支持

.NET Framework 精简版提供许多与数据有关的工具。为 SQL Server CE 提供本地数据库支持。在服务器端,.NET Framework 精简版支持 SQL Server.

请注意,有一家第三方供应商也提供用于 Pocket Access 数据库的 .NET Framework 精简版组件。有关详细信息,请参阅本文结尾处的参考信息。

二进制序列化

出于规模和性能方面的考虑,.NET Framework 精简版中删除了 BinaryFormatter 和 SoapFormatter 类。

访问 Windows 注册表

.NET Framework 包含 Microsoft.Win32.Registry 命名空间,因此很容易在应用程序中处理 Windows 注册表。很显然,这个命名空间并未包括在 .NET Framework 精简版中,因为它与 Win32 有关,而与 Windows CE 无关。您可以通过调用相应的 Windows API 来访问 Windows CE 注册表。

利用 COM 组件

将 COM 对象集成到基于 .NET Framework 精简版的应用程序中需要执行两个步骤。首先,必须编写能提供 COM 对象的非托管 DLL 包装(即使用 eMbedded Visual C++)。此步骤可繁可简,具体情况取决于 COM 对象的复杂程度。其次,必须使用 PInvoke 访问 DLL 包装。幸运的是,开发小组已经开始着手开发常用的 COM 组件了,本文结尾处的参考信息中列出了一些组件。

安全性

.NET Framework 精简版不能确保访问非托管代码时的安全性。任何应用程序都可以调用任何系统 API 或非系统 API.

目前,.NET Framework 精简版不能提供基于角色的安全性。当事人对象无法识别已知标识或已知角色。

XML Web Service

.NET Framework 精简版 XML Web Service 缺少的最主要的是使用 Cookie 的功能。Cookies 广泛用于在客户端的各个调用之间在服务器上保留该客户端的状态。虽然 Cookie 在 Web 服务中的使用并不象在 Web 站点上那么普遍,但是仍在使用。

.NET Framework 精简版只能对 Web 服务提供有限的加密能力。

打印

.NET Framework 精简版不支持打印。通过 IR 很难与网络打印机或外部打印机进行交互。

要访问网络打印机,需要创建一个基于服务器的应用程序,它能够接受并打印移动应用程序提交的作业。

可以通过 IR 端口直接将输出发送到支持 IR 的打印机上。可以使用 System.Net.IrDA 命名空间来访问移动设备的 IR 端口。

GDI+

Windows CE 本身并不支持 GDI+,因此 .NET Framework 精简版删除了与 GDI+ 相关的功能。

远程处理

.NET Framework 精简版的第一个版本不支持远程处理。

使用 Visual Studio .NET 2003 进行开发

Visual Studio .NET 2003 为创建针对 .NET Framework 精简版的应用程序提供了可靠的开发环境。Visual Studio .NET 包括一组预设的设备配置文件。设备配置文件包含创建针对特定设备的应用程序所需的信息。有了 Visual Studio .NET,也就有了创建针对 Pocket PC、Pocket PC 2002 和 Windows CE .NET 4.1 及更高版本的应用程序所需的配置文件。这些配置文件使用户能够创建包含 Windows 窗体和 ADO.NET 的应用程序,还为用户提供了使用 Web 服务的能力。

配置文件可以是针对设备的(例如,专用于 Pocket PC 的配置文件),也可以是针对一般 Windows CE 平台的非专用配置文件,还可以是适用于任何支持 .NET Framework 精简版的平台的通用配置文件。

Visual Studio .NET 支持设备工具包(以前称为 SDK)。与早期的嵌入工具相同,设备工具包独立于 Visual Studio .NET,可以单独安装和更新。

IDE 的附加功能

除了 Visual Studio .NET 本身具有的功能外,IDE 还具有以下针对设备的功能:

模板 - 用于常见项目类型的预定义配置。模板可供 Pocket PC 和 Windows CE 设备使用。

针对设备的控件 - 专用于 Pocket PC 和 Windows CE 的控件。已经对界面、资源消耗和功能进行了调整,以适应这些环境的需要。

设备仿真器 - 模拟特定设备的测试环境。仿真器运行在开发人员的计算机上,可以在没有真正设备的情况下进行测试。

自动部署应用程序 - 为开发人员提供无缝的测试环境,使他们能够轻松地测试仿真器或设备。

远程调试 - 使用户可以对自己的设备应用程序使用 Visual Studio .NET IDE 提供的调试工具。所有调试工具都可用于仿真器或设备上运行的基于 .NET Framework 精简版的应用程序。

支持的语言

.NET Framework 精简版支持两种开发语言:C# .NET 和 Visual Basic .NET.虽然早期的 Windows CE 开发工具更偏爱基于 C 语言的语言(即 eMbedded Visual C++),但在 .NET Framework 精简版中,选择哪种语言并没有太大的影响,因为这两种开发语言具有同样强大的功能。

由于 J# 是后来才添加到 Visual Studio .NET 开发环境中的,因此 .NET Framework 精简版不支持它。

还有一点要说明的是,.NET Framework 精简版还有一个语言限制,这是 .NET Framework 所没有的。在 .NET Framework 中,一个项目可以使用多个语言的组件,而 .NET Framework 精简版中的项目则限制使用一种语言:C# .NET 或 Visual Basic .NET..NET Framework 精简版解决这一单语言项目限制的方法是使用“类”模板创建其他项目。将可替代的语言代码添加到模板中,然后只要在应用程序项目中添加对这些类的引用即可。

联机文档

Visual Studio .NET 文档提供了有关 .NET Framework 精简版的信息。在这个文档中,您既会看到专门针对 .NET Framework 精简版的主题(例如“Creating Custom Controls with the .NET Compact Framework”),又会看到一些零散的描述 .NET Framework 精简版功能的行。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有