.NET Micro Framework 是一种CLR(Common Language Runtime,公共语言运行时)的实现,此CLR 针对的是小型设备,通常那些设备的RAM(Random Access Memory,随机存取存储器)会远远小于一兆字节。它最初是作为一种每设备授权模式的商业平台来出售的。然而,由于制造商对于价格十分敏感,以至于这种定价模式根本无法维持下去,因此微软放弃了对其收费。同时,微软决定遵循Apache 开源许可开放该平台的源码,而且更令人惊讶的是,它将接受社区的贡献。
自从成为开源项目以来,该框架一直在不断扩展。拥有一长串新功能的 4.2 版本刚好已进入 beta 测试阶段。在众多新功能中,其中之一就是支持 Visual Basic,对于 VB 10 SP1 而言,之前人们认为有些任务是不可能完成的。在此有两个限制因素:其一,VB 运行时的大小;其二,这个 CLR 的微型版本不具备一些 Visual Basic 编译器的功能,例如后期绑定和非结构化错误处理等。在 4.2 版本中另一个重要功能是 MFUpdate。
MFUpdate 功能提供了一种让我们可以用来对软件(远程或本地)进行更新的框架。该更新框架提供了存储、备份以及安装工具,通过移植工具包可完成对这些工具的配置工作。一位移植工具包开发者既可以使用我们的示例工具提供程序,例如 BlockStorageUpdate 存储提供程序或者 MicroBooter 安装提供程序,也可以使用他们自己的工具。下载应用程序和更新工具都能以此种方式配置,这样,当它们必须同时实现某些限制时,就可以为用户提供最大的灵活性。托管开发者只须创建一个使用首选的传输和通讯协议的应用程序来接收更新程序包。然后就可以使用更新工具进行验证、存储并最终安装那些更新包。当你把这个功能与加密框架组合(Cryptographic framework,此框架被添加到 4.2 版本的 .NET Micro Framework 中)时,我们可以让开发者创建安全的远程更新操作。在移植工具包中有一个平台(iMXS_net_open)和两个固件上传机制示例:MFDeploy 和 HttpServer。MFDeploy 和 HttpServer 示例演示了如何将.nmf 文件(压缩固件二进制文件)一个包接一个包地传输到 iMXS_net_open 平台上。这个模拟器拥有上传固件的能力,但它显然不能够完成安装操作。它只是为测试自定义更新应用程序提供了一个简单示例。
应该指出的是,用于.NET Micro Framework 的许可与其他开源版本的 CLR(例如 Mono)所用的许可并不兼容。毋庸置疑,这种许可的不兼容性将会导致.NET Micro Framework 的开发者需要从头开始实现某些应有的功能,而使用 Mono 就可以直接使用而不需从头实现。
查看英文原文:.NET Micro Framework now supports Visual Basic, Remote Software Updates
评论