views:

347

answers:

3

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.

+1  A: 

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

Patrick
A link to DLR might help, too: http://www.codeplex.com/dlr
R. Bemrose
+1  A: 

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.

Jörg W Mittag
That's fascinating. Thanks for summing this up.
wishi
+2  A: 

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.

Dino Viehland