我即将开展.NET项目:我们需要创建一个利用现有C#代码的创建程序,我希望使用IronPython。 (我是一位经验丰富的Python程序员,但有点像.NET新手)。
我的问题是:IronPython是否适合使用大多数C#代码,或者使用C#会更好吗?如果IronPython很合适,是否有任何陷阱需要注意?
答案 0 :(得分:5)
您需要将C#代码编译为可在IronPython中使用的程序集(DLL)。一旦你这样做,IronPython可以像任何其他.NET程序集一样使用它。
这是IronPython的常见用法场景。
答案 1 :(得分:1)
如果您在Windows环境中出于无法控制的原因,使用IronPython有很多优势。
就像Python一样,只有.NET。一旦你学会了如何引用程序集的异常元素,如何实例化对象,浏览对象等,这真的很不错。
您不需要Visual Studio进行开发。您只需要Notepad ++或任何体面的文本编辑器。如果你真的必须有一个IDE,你可以使用SharpDevelop。现在,如果你有VS2010,那么Ironpython的新插件很不错,未来版本应该会更好。
随着Ironpython 2.7和.NET 4.0的推出,以前版本的启动时间问题大多被否定了。
我发现WPF和XAML方法比创建GUI应用程序要容易得多。
可以将Ironpython脚本编译成exe文件以便于分发
那说,有缺点。
大多数软件包不直接安装到Ironpython中,强制您安装到CPython中,然后复制相关模块。
使用pyd共享库的Python扩展无法使用,除非您使用Ironclad,即使这样,您也会遇到问题。
你放弃跨平台,除非你的用户正在运行Mono,否则你会失去一些像WPF这样的酷炫功能。
你有点落后于发展曲线。 Ironpython目前处于2.7 Beta 1,并且自10月份以来一直是微软发布的代码。在此之前,MS之外没有人可以提交补丁。社区领导层有望在2月份发布2.7 RTM,然后开始3.x开发。