将 JavaScript 引擎嵌入到 .NET 中 [已关闭]

2022-08-30 01:01:47

只是想知道是否有人曾经尝试过嵌入并将任何js引擎实际集成到.net环境中。我可以找到并实际使用(经过很多痛苦和努力,因为它已经过时了,还没有完全完成)spidermonkey-dotnet项目。有人在这个领域有经验的吗?像SquirrelFish,V8.这样的引擎。

并不是说我对Mozilla的Spidermonkey不满意(将其用于核心 ASP.NET 应用程序中自定义组件的类似Rails的小型框架),但我仍然喜欢进一步探索这些选项。命令行解决方案不是我需要的,我不能依赖CLR以外的任何东西,我需要从/到JavaScript / C#对象调用方法。

// c# class
public class A
{
    public string Hello(string msg)
    {
        return msg + " whatewer";
    }
}

// js snippet
var a = new A();
console.log(a.Hello('Call me')); // i have a console.log implemented, don't worry, it's not a client-side code :)

只是为了澄清 - 我并不是试图在服务器端javascript中实际编程应用程序本身。它仅用于编写自定义用户子应用程序(可以被视为某种DSL)。允许普通人用js编程比C#更容易(也更安全)。


答案 1

试试 Javascript .NET。它托管在GitHub上,它最初托管在CodePlex上,在这里)

项目讨论:http://javascriptdotnet.codeplex.com/discussions

它实现了Google V8。您可以使用它直接从.NET代码编译和运行JavaScript,并提供供JavaScript代码使用的CLI对象。它从 JavaScript 生成本机代码。


答案 2

开源JavaScript解释器Jint(http://jint.codeplex.com)正是你正在寻找的。

编辑:
该项目已被完全重写,现在托管在Github上,https://github.com/sebastienros/jint