Czy istnieją implementacje ECMAScript .NET CLR / DLR?

Czy ktoś wiereal (i .. no vaporware) implementacje ECMAScript ukierunkowane na.NET CLR / DLR? Idealnie coś takiegoczym jest Rhino dla Javy. Solidny port Rhino działający na platformie .NET Framework / Mono Framework byłby idealny.

Widziałem tylko garstkę wspomnianych projektów, ale nigdy nie widziałem, żeby coś wyszło na jaw lub w rzeczywistości cokolwiek, co kiedykolwiek mogłem uruchomić na skrypcie. Oto, o czym już wiem:

Formant ActiveX MSScriptControl: AFAIK, to było ostatnie prawdziwe wdrożenie zgodne z ECMAScript firmy Microsoft (uruchamia JScript 5.7). Zintegrowałem z MSScriptControl, ale nie uważam interopu COM za odpowiedź na to pytanie. x64 jest zabójcą dla tej opcji.

JScript.NET: Nie liczę JScript.NET, ponieważ nigdy nie może z powodzeniem przeanalizować żadnego z moich prawdziwych skryptów. Wygląda na to, że ma problemy z zamknięciem.

Zarządzany JScript: Brzmi jak to, czego chcę, ale wydaje się być martwy w wodzie. Była to główna przykładowa implementacja DLR, ale potem została uwikłana w SilverLight i wydaje się, że od 2007 r. Stała się priorytetem. Przydatne byłyby źródła wiarygodne.

MyJScript: Zbudowany jako implementacja samouczka dla DLR. Ktoś wie, jak kompletna jest implementacja?

Jint: Interpreter JavaScript dla .NET.Nie obsługuje jeszcze Currying lubtry-catch-finally.

RemObjects Script dla .NET: Ciekawy rywal nadal w pracach. Jestem zdezorientowany ich marketingiem co do tego, co tak naprawdę będzie, ale brzmi to tak, jakby mogło być w końcu dopasowanie. Jeśli ktoś wie więcej na ten temat, byłby również pomocny.

V8 dla .NET: Byłoby wspaniale, gdyby ktoś przeniósł V8 do .NET. O ile mi wiadomo, nie ma też dużego wysiłku. Łącze to pomysł na wywołanie go z zarządzanego opakowania C ++.

Dla tła chcę mieć możliwość wykonywania JavaScript z poziomu .NET; tj. załaduj zestaw skryptów do kontekstu i wywołaj w tym kontekście i pobierz wyniki wykonania. Obecnie przeskakuję przez obręcze, aby korzystać z MSScriptControl za pośrednictwem niewygodnego COM Interop. Niespójność modelu COM sprawia, że ​​naprawdę trudno jest go wdrożyć i zapewnić spójne wykonanie.

Chciałbym być w stanie wykonywać rozsądnie złożone wiązki testowe JavaScript z poziomu .NET. Nie jest to tworzenie makr użytkownika lub prostych małych skryptów; Potrzebuję prawdziwego środowiska JavaScript, takiego jak Rhino. Gdyby implementacja działała nad CLR (a nie COM), to naprawdę pomogłoby w niektórych bieżących problemach.

questionAnswers(9)

yourAnswerToTheQuestion