2009-11-05 20 views
9

Aby umieścić jakiś kod IronPython w C# Chcę użyć ScriptEngineJak korzystać z Microsoft.Scripting.Hosting?

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

znalazłem odniesienia do IronPython, ale gdzie jest to konieczne odniesienie do Scripting.Hosting? Nie mogę go znaleźć w VisualStudio 2008, kierując na .Net 3.5.

Odpowiedz

4

Microsoft.Scripting jest częścią Dynamic Language Runtime. Dynamic Language Runtime jest częścią .NET 4, IronPython i IronRuby i jest również dostępny jako samodzielny.

John Lam, główny programista IronRuby, utworzył małą bibliotekę o nazwie repl-lib, która implementuje prostą hybrydę edytora/REPL dla IronRuby i IronPython, którą można po prostu wpuścić do swojej aplikacji. In a blog post, John Lam demonstruje, w jaki sposób użył repl-lib do dodania skryptów do Witty .NET Twitter client w 8(!) lines of code (plus 90 linii XAML dla interfejsu REPL i przycisku REPL).

Ten wpis na blogu jest oparty na a presentation at TechEd 2009, do którego niestety nie mam dostępu, ale jeśli to zrobisz, powinieneś to sprawdzić.

Pamiętaj, aby sprawdzić również forks of repl-lib, zwłaszcza Jim Deville's.

+0

To fascynujące. Dziękuję za podsumowanie tego. – wishi

12

DLR jest podzielony na dwie części: "wewnętrzną warstwę", która jest zawarta w .NET 4.0 i jest częścią System.Core.dll (i na platformach niższych poziomów jest dostępna jako Microsoft.Scripting.Core.dll) "warstwa zewnętrzna", która jest dostępna w CodePlex i statkach w/IronPython i IronRuby i jest w Microsoft.Scripting.dll i Microsoft.Dynamic.dll. Ta część nie jest wysyłana w .NET 4.0.