BT

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

微软生物学基金会发布Mono兼容性报告

| 作者 Jonathan Allen 关注 611 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2010年8月15日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

微软生物学基金会称自己是个“语言中立的生物信息学工具集,是微软.NET Framework的扩展,最初面向基因组学领域的研究”。目前,它针对常见的生物信息学文件格式实现了一系列解析器;操纵DNA、RNA以及蛋白质序列的一系列算法;一套生物学Web Services连接器,比如NCBI BLAST。

虽然微软研究院保证说这些工具会兼容于第三方厂商,但人事问题阻碍了他们为支持Silverlight与Mono而制订的重构计划。Michael Zyskowski写到

在MBF的开发过程中,我们决定使用.NET 4.0,尤其是通过Parallel Extensions在序列比对与装配时充分发挥多核计算机的能量。SL4的功能并不是那么容易搞懂,最后我们选择充分发挥.NET 4特性的优势而不是像Mono或SL4这种只关注某一部分特性的框架。我们打算将框架重构为一个面向MBF v1各个版本的子程序集,进而实现SL4的兼容性(还有.NET 4.0 Client Profile子集)。

但遗憾的是,过去几个月,有几个核心开发者离开了我们,因此我们不得不做出妥协。其中一个决定就是将库重构为Client Profile、Silverlight4与完整的.NET 4.0程序集的计划推后。这是继6月份MBF v1最终版发布后我们所面临的第一要务。但我们希望社区能够继续探究、实现原型、甚至提交代码来完成这个目标。该项目的美好之处在于我们希望社区能够促进平台的不断发展,不必再依赖微软就能实现这一切,这非常重要。

虽然还需要进行很多测试,但由Mono Migration Analyzer所检测出的兼容性问题已经非常少了。具体问题有:

  • 有两个地方调用了CredentialCache.DefaultCredentials。它只用于NTLM、协商以及基于Kerberos的认证。这样,如果没有调用的话就可以忽略掉了。但如果需要他们,目前还没有什么好的解决方法。
  • Assembly.GetName(Boolean)调用了4次,在对程序集进行shadow copy时修改Assembly.CodeBase的工作是很无聊的事情。
  • 与安全相关的另一个特性是来自于Windows Communication Foundation的HttpTransportSecurity.ClientCredentialType。由于它只用于通过WCF调用Web Services,因此在Mono赶上来时需要使用其他的Web Services层。
  • 在一个扩展包中对Win32函数GetTickCount调用了多次。它仅仅会返回自系统上一次启动以来所经历的秒数,因此很奇怪Mono没有为Linux与OS X实现一个转换层。

总而言之,实现Mono版本的工作量并不太大。但遗憾的是,实现Silverlight版本就不那么轻松了,因为它与.NET 4.0相差太多,最终也不会实现完全的兼容性。

查看英文原文:Mono Compatibility Report for Microsoft Biology Foundation

评价本文

专业度
风格

您好,朋友!

您需要 注册一个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