2

Я хотел бы добавить поддержку некоторых скриптов в приложение Silverlight 4, над которым я работаю. У меня есть последние стабильные версии IronRuby и IronPython, установленные на моей машине с Visual Studio 2010. Я посмотрел на некоторые примеры использования класса ScriptEngine с IronRuby и IronPython. Я даже получил его для работы в небольшом приложении Windows Forms, чтобы убедиться, что мой код работает. Однако я не могу добавить ссылку для необходимых сборников/библиотек DLL в приложение Silverlight 4.DLR Scripting in Silverlight 4 Application

Вот мой ScriptEngine код:

ScriptEngine engine = Ruby.CreateEngine(); 
engine.Runtime.Globals.SetVariable("MainPage", this); 
string code = "MainPage.txtTitle.Text = \"Hello from IronRuby!\""; 
engine.Execute(code); 

И вот мои с помощью заявления, что он требует:

using IronRuby; 
using Microsoft.Scripting.Hosting; 

Когда я пытаюсь добавить ссылку на следующих Ассамблей/DLL, от выпуска IronRuby 1.0 , Visual Studio 2010 не позволяет мне добавлять их и не дает никаких сообщений об исключении. В результате я не могу скомпилировать решение.

IronRuby.dll 
IronRuby.Libraries.dll 
IronRuby.Libraries.YAML.dll 
Microsoft.Dynamic.dll 
Microsoft.Scripting.Debugging.dll 
Microsoft.Scripting.dll 

Я предполагаю, что причина Visual Studio 2010 не давая мне добавить Ассамблей/DLL, это потому, что они скомпилированы для .NET, а не Silverlight.

Кто-нибудь знает, где я могу получить версии Silverlight 4 этих сборок или точно, что я делаю неправильно?

Любая помощь будет оценена по достоинству. Благодаря!

ответ

2

Версия Silverlight для IronRuby 1.0 и IronPython 1.0 скрыта в IronRuby 1.0 для .NET 2.0 SP1 (Zip-архив), загружаемой с http://ironruby.codeplex.com/releases. В zip найдите silverlight \ bin.

Доступен также версия SilverRuby 1.1 Silverlight. Однако IronPython 1.1 для Silverlight нигде не найден. DLR не получает любовь от Microsoft она заслуживает, мало документации, бинарные файлы очень трудно найти, будущее IronRuby и IronPython не выглядит ярко ...

+0

Большое спасибо за указание на меня! –

2

Просто к сведению ответ Koen в:

IronPython\Silverlight\bin .dlls от IronPython 2.6.x - это двоичные файлы .NET 3.5 (отлично работает в Silverlight 4). Бинарные файлы .NET 4 для Silverlight 4 будут доступны с IronPython 2.7 (в настоящее время в alpha).

0

Я искал какой-то скриптовый движок, совместимый с Silverlight, и после нескольких часов исследований я нашел его. Я еще не тестировал, но я только что открыл проект под названием PaxScript.net, который поддерживает Silverlight 3/4/5. По словам автора, вы можете создавать сценарии с использованием VB.NET, C# и Delphi.NET. Он генерирует байт-код. Я не знаю, почему этот проект неизвестен, возможно, отсутствие «раскрытия».