开发者

How to use Microsoft.Scripting.Hosting?

To embed some IronPython Code into C# I want to use the ScriptEngine

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

I found the reference for IronPython, but where is the necessary reference for Scripting.Hosting? I can't find it开发者_高级运维 within VisualStudio 2008, targeting .Net 3.5.


The DLR is actually broken into 2 parts: the "inner layer" which is included in .NET 4.0 and is part of System.Core.dll (and on downlevel platforms is available as Microsoft.Scripting.Core.dll) the "outer layer" which is available on CodePlex and ships w/ IronPython and IronRuby and is in Microsoft.Scripting.dll and Microsoft.Dynamic.dll. This part does not ship w/ .NET 4.0.


It looks like this is part of the DLR binaries ... more information here:

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


Microsoft.Scripting is part of the Dynamic Language Runtime. The Dynamic Language Runtime is part of .NET 4, IronPython and IronRuby and is also available standalone.

John Lam, the lead developer of IronRuby, created a little library called repl-lib, which implements a simple editor/REPL hybrid for IronRuby and IronPython which you can just drop into your application. In a blog post, John Lam demonstrates how he used repl-lib to add scripting to the Witty .NET Twitter client in 8(!) lines of code (plus 90 or so lines of XAML for the REPL UI and the REPL button).

That blog post is based on a presentation at TechEd 2009, which I unfortunately don't have access to, but if you do, you should check it out.

Be sure to also check out the forks of repl-lib, especially Jim Deville's.


I suggest that you use NuGet instead of managing the binaries yourself.

This worked for me. http://nuget.org/packages/DynamicLanguageRuntime.Net40.Unofficial

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜