AuroraScript 是面向 .NET 宿主程序的轻量脚本引擎。它将脚本编译为 CIL 并交给 CLR/JIT 执行,适合嵌入规则、业务逻辑、配置化流程、热修复和小型表达式。
它借鉴 JavaScript 的表达式、对象、数组、闭包和模块写法,但不是 ECMAScript 实现,也不承诺兼容浏览器或 Node.js 语义。
- CIL/JIT 执行、模块化脚本和独立
ScriptDomain。 Dynamic、OnlyRun、Persistence三种编译模式。- CLR 类型注册与受控互操作。
- 内存、文件系统和组合脚本来源。
- 热更新、
CompileBlock、标准对象和语言工具支持。
dotnet add package AuroraScript.JIT --version 4.0.0包支持 net8.0、net9.0 和 net10.0。Dynamic 与 OnlyRun 支持全部目标;Persistence 需要 net9.0 或更高版本。
创建 scripts/main.as:
@module(MAIN);
export func main(value) {
return value + 22;
}在宿主中编译并执行:
using AuroraScript;
using AuroraScript.Core;
using AuroraScript.Runtime;
var options = EngineOptions.Default.WithCompiler(compiler =>
{
compiler.SourceResolver = ScriptSources.FileSystem("./scripts");
compiler.Mode = CompilationMode.Dynamic;
});
var engine = new AuroraEngine(options);
await engine.BuildAsync("main.as");
using var domain = engine.CreateDomain();
var result = domain.Execute("MAIN", "main", ScriptDatum.FromNumber(20));
Console.WriteLine(result); // 42详细介绍、教程、逐对象 API Reference、性能基准、MCP、语言服务器和 Visual Studio 扩展已迁移到 Wiki:
Wiki 默认使用中文;每段英文翻译紧随中文正文并以引用块呈现。API 的 Parameters:、Returns 和参数名保持英文,以方便复制和检索。
git clone https://github.com/l2060/AuroraScript.JIT.git
cd AuroraScript.JIT
dotnet build src/AuroraScript.csproj -c Release本项目基于 MIT License 发布。