.NET CLR/DLRを対象とする ECMAScript の実際の(つまり、ベーパーウェアではない) 実装を知っている人はいますか? 理想的には Rhino for Java のようなものです。.NET Framework / Mono Framework で動作する Rhino の確実な移植は完璧です。
言及されたプロジェクトはほんの一握りしか見たことがありませんが、実際にスクリプトを実行できたプロジェクトは見たことがありません。これが私がすでに知っていることです:
MSScriptControl ActiveX コントロール: 私の知る限り、これは Microsoft の最後の実際の ECMAScript 準拠の実装 (JScript 5.7 を実行) でした。私は MSScriptControl と統合しましたが、COM 相互運用がこの質問に対する答えになるとは考えていません。x64 は、このオプションのキラーです。
JScript.NET : JScript.NET は、実際のスクリプトを正常に解析できなかったため、数えません。閉鎖に問題があるようです。
マネージ JScript : 私が望むもののように聞こえますが、水中で死んでいるように見えます。これは DLR の主要な実装例でしたが、その後 SilverLight と絡み合い、2007 年以降は優先順位が薄れているようです。これに関する信頼できる情報源が役立ちます。
MyJScript : DLR のチュートリアル実装として構築されています。これがどれほど完全な実装か知っている人はいますか?
Jint : .NET 用の JavaScript インタープリター。
現在のところ、カリー化または--をサポートしていません。try
catch
finally
RemObjects Script for .NET : 興味深い候補がまだ開発中です。それが実際にどうなるかについては、彼らのマーケティングに混乱していますが、最終的には適合するように思えます. 誰かがそれについてもっと知っていれば、それも役に立ちます。
V8 for .NET : 誰かが V8 を .NET に移植した場合、これは素晴らしいことです。私の知る限り、これについても大きな努力はありません。このリンクは、マネージ C++ ラッパーから呼び出すためのアイデアへのリンクです。
背景として、.NET 内から JavaScript を実行できるようにしたいと考えています。つまり、一連のスクリプトをコンテキストにロードし、そのコンテキストを呼び出して、実行結果を取得します。現在、面倒な COM 相互運用機能を介して MSScriptControl を使用するためにフープをジャンプしています。COM には一貫性がないため、デプロイと一貫した実行の確保が非常に難しくなっています。
かなり複雑な JavaScript テスト ハーネスを .NET 内から実行できるようにしたいと考えています。これは、ユーザー マクロや単純な小さなスクリプトを作成するためのものではありません。Rhino のような実際の JavaScript 環境が必要です。実装が (COM ではなく) CLR の上で実行されている場合、これは現在の問題のいくつかを解決するのに非常に役立ちます。