如何使用Microsoft.Scripting.Hosting?

要将一些IronPython代码嵌入到C#中,我想使用ScriptEngine

using IronPython.Hosting; using Microsoft.Scripting.Hosting; 

我找到了IronPython的参考资料,但是Scripting.Hosting的必要参考在哪里? 我在VisualStudio 2008中找不到它,目标是.Net 3.5。

看起来这是DLR二进制文件的一部分……更多信息请点击这里:

https://blogs.msdn.com/seshadripv/archive/2008/06/24/how-to-write-a-simple-dlr-host-in-c-using-hosting-api.aspx

DLR实际上分为两部分:“内层”包含在.NET 4.0中,是System.Core.dll的一部分(在下层平台上可用作Microsoft.Scripting.Core.dll)“外层“它可以在CodePlex上获得,并且带有IronPython和IronRuby,并且在Microsoft.Scripting.dll和Microsoft.Dynamic.dll中。 这部分不提供w / .NET 4.0。

Microsoft.Scripting是动态语言运行时的一部分 。 Dynamic Language Runtime是.NET 4, IronPython和IronRuby的一部分,也可以单独使用。

IronRuby的首席开发人员John Lam创建了一个名为repl-lib的小库,它为IronRuby和IronPython实现了一个简单的编辑器/ REPL混合,您可以将其放入您的应用程序中。 在一篇博文中 ,John Lam演示了他如何使用repl-lib在8(!)行代码中为Witty .NET Twitter客户端添加脚本(对于REPL UI和REPL按钮,还有90行左右的XAML行)。

该博客文章基于TechEd 2009上的演示文稿,遗憾的是我无法访问,但如果你这样做,你应该检查一下。

一定要查看repl-lib的分支 ,尤其是Jim Deville的 分支 。

我建议您使用NuGet而不是自己管理二进制文件。

这对我有用。 http://nuget.org/packages/DynamicLanguageRuntime.Net40.Unofficial