有没有任何 .NET CLR/DLR 实现的 ECMAScript?
有没有任何 .NET CLR/DLR 实现的 ECMAScript?
有没有人知道有没有在.NET CLR/DLR上实现的真正的(即没有虚拟产品)ECMAScript?理想情况下,像Rhino对于Java一样的东西。一个在.NET Framework / Mono Framework上运行的Rhino的可靠移植将是完美的。
我只见过少数几个项目被提及,但从来没有看到任何一个项目变得真实可行,或者能够运行脚本的东西。以下是我已经了解到的情况:
- MSScriptControl ActiveX Control:据我所知,这是微软最后一个真正符合ECMAScript标准的实现(运行JScript 5.7)。我已经与MSScriptControl集成过,但我不认为COM互操作是这个问题的答案。对于这个选项来说,x64 是个问题。
- JScript.NET:我不认为JScript.NET能够成功解析我的任何真实脚本。它似乎对闭包有问题。
- Managed JScript:听起来像是我想要的,但它似乎已经停滞不前了。它曾经是DLR的一个主要示例实现,但在2007年之后就与SilverLight纠缠在一起,似乎已经不再是一个优先事项了。有关其状态的可靠消息将会很有帮助。
- MyJScript:作为DLR的一个教程实现构建的。有人知道这是一个多完整的实现吗?
- Jint:.NET的JavaScript解释器。目前还不支持柯里化或try-catch-finally。
- RemObjects Script for .NET:一个仍在进行中的有趣的竞争对手。他们的营销方式让我困惑,不知道它到底是什么,但听起来它可能最终会适合。如果有人对此了解得更多,那将会很有帮助。
- V8 for .NET:如果有人将V8移植到.NET,那将会很棒。据我所知,目前还没有大规模的工作在进行这方面的努力。链接是一个调用由托管C++包装器包装的V8的想法。
背景是,我想要能够在.NET内执行JavaScript;即加载一组脚本到上下文中,并调用该上下文并获取执行结果。目前,我通过冗长的COM互操作来使用MSScriptControl,这让部署和确保一致的执行变得非常困难。
我想要能够在.NET内执行相当复杂的JavaScript测试套件。这不是为了创建用户宏或简单的小脚本;我需要一个像Rhino一样真正的JavaScript环境。如果实现是在CLR上运行(而不是COM),这将在解决当前一些问题方面真正有帮助。