【发布时间】:2010-12-12 05:45:13
【问题描述】:
是否有现成的 C# 解释器,它不依赖于运行时编译?
我的要求是:
- 脚本引擎
- 必须处理 C# 语法
- 必须在中等信任环境中工作
- 不得使用运行时编译(CodeDomProvider ...)
- 开源(或至少免费供个人和专业用途)
如果不清楚,我需要 Jint (http://jint.codeplex.com/) 之类的东西,但它允许我编写 C# 脚本而不是 JavaScript 脚本。
感谢您的帮助。
【问题讨论】:
-
您能否详细说明为什么需要 C# 语法而不需要运行时编译?由于 C# 语言的指定方式以及 CLR 原始类型的实现方式,我不相信您所要求的甚至是可能的。但我的猜测是,你并不真正需要 C# 语言来做你想做的事情。
-
1) 运行时编译涉及程序集生成,需要完全信任模式,我正在使用中等信任的 asp.net 环境。 2) 在某些特定情况下,我需要评估 10000 多个不同的小脚本,编译所有这些脚本会非常缓慢,并且使用程序集缓存将毫无用处,并且会很快杀死我的 AppPool。
-
... 3) 除了 C#,我不想写任何东西:p
-
在 DLR 中运行的 C# 会很有趣。
-
反射是否适用于中等信任环境?