Visual Studio 2010 Beta 1探索笔记(2):动态特性与IronPython
在.NET 4.0中加入的一个重要特性就是动态特性,即所谓的dynamic关键字。更多的信息可以参看MSDN的帮助,或阅读如下InfoQ文章:
《微软.NET编程语言的未来》,《.NET和动态语言》。
微软今早发布了2.6 CTP for .NET 4.0 Beta 1,要完成在.NET 4.0中调用IronPython的工作,需要如下步骤:
- 安装Visual Studio 2010 Beta 1
- 从http://ironpython.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=27320安装IronPython.msi
- 跟随这个博客文章,进行操作:http://blogs.msdn.com/vbteam/archive/2008/12/17/walkthrough-dynamic-programming-in-visual-basic-10-0-and-c-4-0-lisa-feigenbaum.aspx
下面是我的一些探索体会:
- 搭建环境还比较麻烦,要从2.6 CTP for .NET 4.0 Beta 1的安装目录中添加IronPython.dll, IronPython.Modules.dll, and Microsoft.Scripting.dll程序集。理论上Microsoft.Scripting.dll作为DLR的主程序集应该直接包含到.NET 4.0中,目前似乎还是分开的。
- 另外由于py文件要调用一些Python模块,所以还必须把2.6 CTP for .NET 4.0 Beta 1的安装目录中的Lib目录Copy到Debug中
- 在Debug Run模式下,似乎无法载入py文件,也不出错,就一直停在那里,在Run without debug和直接运行的时候,就能正常运行。这应该是一个Bug,大家要注意。
- dynamic可以代替var关键字使用,当然这样的话,变量就无法被推导,也就没有智能提示。
下一篇,我打算体验一下动态特性和Silverlight的交互,敬请期待!
本笔记的源代码如下(不要用迅雷等下载):http://cid-f73516baeac50992.skydrive.live.com/self.aspx/SharedCode/IronPython%7C_Dynamic.zip