Кто-нибудь знает о реальных (i.. no steamware) реализациях ECMAScript, нацеленных на .NET CLR/DLR? В идеале что-то вроде , что Rhino для Java. Яркий порт Rhino, работающий на платформе .NET Framework/Mono Framework, был бы идеальным.
Я видел только несколько упомянутых проектов, но никогда не видел, чтобы кто-либо обнаружил или на самом деле все, что я когда-либо мог запустить script. Вот о чем я уже знаю:
-
MSScriptControl ActiveX Control: AFAIK, это был последний реальный проект, совместимый с ECMAScript JScript 5.7). Я интегрирован с MSScriptControl, но не рассматриваю COM-взаимодействие как ответ на этот вопрос. x64 - это убийца для этой опции.
-
JScript.NET: я не считаю JScript.NET, поскольку он никогда не смог успешно проанализируйте любой из моих реальных сценариев. Кажется, у него проблемы с закрытием.
-
Управляемый JScript: похоже, что я хочу, но он, кажется, мертв в воде, Это был крупный пример реализации DLR, но затем запутался с SilverLight и, похоже, исчез в качестве приоритета с 2007 года. Полезные источники о статусе этого были бы полезны.
-
MyJScript. Построен как реализация учебника для DLR. Кто-нибудь знает, насколько завершена реализация?
-
Jint: интерпретатор JavaScript для .NET.
Пока еще не поддерживает Currying илиtry
-catch
-finally
. -
RemObjects script для .NET: интересный соперник все еще работает. Я смущен их маркетингом относительно того, что это будет на самом деле, но похоже, что в конечном итоге это может пригодиться. Если кто-то знает больше об этом, это тоже будет полезно.
-
V8 для .NET. Это было бы здорово, если бы кто-то портировал V8 на .NET. Насколько я знаю, в этом нет больших усилий. Ссылка на идею вызова в нее из управляемой С++-оболочки.
Для фона, я хочу, чтобы иметь возможность выполнять JavaScript из .NET; т.е. загрузить набор сценариев в контекст и вызвать в этот контекст и получить результаты выполнения. В настоящее время я прыгаю через обручи, чтобы использовать MSScriptControl через громоздкий COM Interop. Несогласованность COM делает его очень трудным для развертывания и обеспечения последовательного выполнения.
Я хотел бы иметь возможность выполнять достаточно сложные тестовые жгуты JavaScript из .NET. Это не для создания пользовательских макросов или простых крошечных скриптов; Мне нужна настоящая среда JavaScript, такая как Rhino. Если реализация выполнялась поверх CLR (а не COM), это действительно помогло бы с некоторыми из текущих проблем.