为.NET应用程序创建交互式shell,并将脚本语言(如python/iron python)嵌入其中

Dev*_*per 13 .net c# python ironpython python.net

我正在使用标准python安装附带的教程学习python.作者对python的一个好处是"也许你已经编写了一个可以使用扩展语言的程序,而且你不想为你的应用程序设计和实现一种全新的语言" - 我的问题是如何我开始设计一个程序(使用c#),可以使用Python交互式扩展(为此可以,我想我需要为.net程序创建某种"shell"或"交互式"模式)?

是否有关于如何设计具有交互式shell的.NET程序的指针.然后我想在shell中使用python脚本来"扩展"或与程序交互.

编辑:这个问题部分源于Miguel de Icaza在PDC 2008期间给出的演示,他展示了交互式csharp命令提示符,C#4.0我认为还有这个"编译器即服务"功能.我看了一下,并认为在.NET中设计具有交互式shell的窗口或Web程序是多么酷......并且可以使用像python这样的脚本语言来扩展程序提供的功能.

此外,在阅读史蒂夫耶格的一篇论文后,我开始考虑这种功能,在那里他谈到了永生的系统.

Eri*_*bes 12

这听起来像IronPython的很好用.

从C#设置一个简单的脚本主机以允许调用IronPython脚本,以及允许IronPython调用您的C#代码相当容易.CodePlex网站上有一些示例和示例,展示了如何做到这一点.

另一个例子和样本的好网站是ironpython.info

而且这里有一个页面专门为一个例子回答您的问题很,虽然在通用DLR-中心的方式-这将让您的主机的IronPython,IronRuby的,或任何DLR的语言,你想支持.

我过去曾使用这些示例在ScrewTurn Wiki的私有安装中创建IronPython环境- 它允许我创建非常富有表现力的Wiki模板,并且证明它在一般情况下非常有用.