BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

.NET/Mono里的跨平台类库

| 作者 Jonathan Allen 关注 594 他的粉丝 ,译者 李永伦 关注 0 他的粉丝 发布于 2011年5月18日. 估计阅读时间: 2 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

为了解决.NET/Mono生态系统的平台分化问题,微软开发了一个名为Portable Library Tools的扩展工具。这个工具允许相同的编译好的类库运行在.NET 4.0、Silverlight、Xbox 360和Windows Phone 7上。微软正在和Mono合作为MonoTouch和Mono for Android(译注:原文此处为MonoDroid,但由于版权方面的问题,MonoDroid已经更名为Mono for Android)提供支持。

在创建一个新的“可移植类库”时,开发者需要决定这个类库将会运行在哪些框架上。一旦做出了选择,只有那些在所有选择的平台上都能用的API才可以使用。具体可用的类和方法列表可以在Visual Studio的Object Browser里看到。

Portable Library Tools要求项目引用一组特殊的类库,而不是通常和平台相关的那些类库。受平台支持的API列表API的更改可以在MSDN上找到。Mono for Android和MonoTouch的API没有显示出来,根据David M. Kean的说法,这些会在以后提供支持。

这个工具并非支持所有.NET/Mono平台。举个例子,“没有任何计划为.NET Compact(在Windows Phone和Xbox之前的)或者.NET Micro框架提供支持”。也不会为旧版本的全功能的.NET框架提供支持,因为这需要对运行时进行很大的改动。

这个工具的一个重要限制是你只能访问所有选择的平台都支持的API。这意味着你无法像为每个目标平台创建独立的DLL那样,通过编译器常量有选择性地启动某些特性。微软正在研究通过反射和迟绑定来“开启”额外特性的可行性,但至今没有任何明确的计划。

查看英文原文:Cross Platform Libraries in .NET/Mono

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT