LanguageProvider跑哪里去了?

当然,我现在知道答案了。只是这资料太难找了吧,逼人加入DLR或者IronPython/IronRuby的邮件列表么。不,或许装上[url=http://www.microsoft.com/downloads/details.aspx?familyid=0ed12659-3d41-4420-bbb0-a46e51bfca86&displaylang=en]Team Explorer 2008[/url]更现实些。

事情是这样的:在比较老版本的DLR里有一组hosting API,其中有一个相当重要的类,Microsoft.Scripting.Hosting.LanguageProvider。这个类在稍微早一些时候的DLR例子里很常见,但在新的DLR里根本没这个类。于是它跑哪里去了呢,替代者是谁?

找了半天终于在MSDN某blog上看到了相关消息:
[url=http://blogs.gotdotnet.com/shozoa/archive/2008/02/03/7401868.aspx]荒井省三のBlog:簡単な言語の作り方2[/url]
[quote][list][*]LanguageProviderが廃止され、LanguageContextに統一された。
[*]上記に伴って独自のScriptEngineではなく、Microsoft.Scripting.Hosting.ScriptEngineを使用するようになった。
[/list][/quote]
重点就是LanguageProvider被统一到LanguageContext里了,而语言对ScriptEngine的实现可以继承自DLR的ScriptEngine。
很好。但是这种资料也太难找了(又抱怨了一次 = =)。在IronPython的邮件列表里搜LanguageProvider只能搜到很老的一些例子,却搜不到关于它被整合到LanguageContext的消息。
有好些零星的这些变更信息我都是在不同的地方看到的,例如说DLR里Ast.CodeBlock改名为LambdaExpression是在[url=http://blogs.msdn.com/mmaly/default.aspx]Martin Maly[/url]的blog上读到的,而DLR的核心部分从Microsoft.Scripting.dll迁移到Microsoft.Scripting.Core.dll是在IronRuby的SVN repository log上读到的……[url=http://www.iunknown.com]John Lam的blog[/url]本来也是个重要的信息来源,但要用代理才上得了所以不经常上

果然是如同Charles Nutter所说,IronRuby(以及DLR)虽然使用了MS-PL,在开源上进了一大步,但是还是不够透明,文档什么的都不放给外部,让别人很难跟踪发展的进度。不过也只能忍了,谁叫我非要用DLR的 = =

P.S. 啊啊啊,被日期“骗”了。在CodePlex上,IronPython的source code一栏里,Beta 2的Change Set号码(33171)明明比32648大,但是Beta 2那栏写着的更新日期是[b]May[/b] 3而32648是April 3,我眼花了一整个星期把May看成[b]Mar[/b]以为Beta 2比32648老 T T
想找块豆腐去撞一下了 = =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值