¿Hay alguna implementación .NET CLR / DLR de ECMAScript?
¿Alguien sabe dereal (i .. no vaporware) implementaciones de ECMAScript dirigidas a la.NET CLR / DLR? Idealmente algo comolo que Rhino es para Java. Un puerto sólido de Rhino que se ejecute en .NET Framework / Mono Framework sería perfecto.
Solo he visto un puñado de proyectos mencionados, pero nunca he visto salir a la luz o en realidad nada de lo que he podido ejecutar un script. Esto es lo que sé acerca de:
Control ActiveX MSScriptControl: AFAIK, esta fue la última implementación real compatible con ECMAScript de Microsoft (ejecuta JScript 5.7). He integrado con MSScriptControl pero no considero que la interoperabilidad COM sea una respuesta a esta pregunta. x64 es un asesino para esta opción.
JScript.NET: No cuento JScript.NET ya que nunca pudo analizar con éxito ninguno de mis scripts reales. Parece tener problemas con los cierres.
JScript gestionado: Suena como lo que quiero pero parece estar muerto en el agua. Fue un ejemplo importante de implementación para el DLR, pero luego se enredó con SilverLight y parece haberse desvanecido como prioridad desde 2007. Las fuentes acreditables sobre el estado de esto serían útiles.
MyJScript: Construido como una implementación tutorial para el DLR. ¿Alguien sabe qué tan completa es esta implementación?
Jint: Intérprete de JavaScript para .NET.Todavía no soporta Currying otry
-catch
-finally
.
RemObjects Script para .NET: Un interesante contendiente aún en las obras. Estoy confundido por su mercadotecnia en cuanto a lo que realmente será, pero parece que eventualmente podría ser un ajuste. Si alguien sabe más sobre eso, eso también sería útil.
V8 para .NET: Esto sería genial si alguien portara V8 a .NET. Por lo que sé, tampoco hay un gran esfuerzo en esto. El enlace es a una idea para llamar desde un contenedor C ++ administrado.
Para el fondo, quiero poder ejecutar JavaScript desde .NET; es decir, cargar un conjunto de scripts en contexto y llamar a ese contexto y recuperar los resultados de ejecución. Actualmente, paso por los aros para usar MSScriptControl a través de la complicada Interoperabilidad COM. La inconsistencia de COM hace que sea realmente difícil para la implementación y asegurar una ejecución consistente.
Me gustaría poder ejecutar arneses de prueba de JavaScript razonablemente complejos desde .NET. Esto no es para crear macros de usuario o simples scripts pequeños; Necesito un entorno de JavaScript real como Rhino. Si la implementación se estaba ejecutando sobre el CLR (en lugar de COM), esto realmente ayudaría con algunos de los problemas actuales.