你可以缓存编译的代码来执行不同的Session / hostObject吗?

时间:2012-07-09 15:19:37

标签: c# roslyn

我们目前使用IronPython作为脚本语言,允许我们的业务用户配置我们应用程序的大部分内容,并且我们正在评估在Roslyn发布后添加C#作为脚本语言的可能性。对于IronPython,我们使用Microsoft.Scripting.Hosting.CompiledCode来缓存已编译的代码并针对不同的ScriptScope对象执行它。

查看最新的Rosyln CTP我没有看到一种明显的方法来编译代码,然后针对不同的SessionshostObjects执行它。此功能是否可用,如果没有,是否可以在发布时使用?

2 个答案:

答案 0 :(得分:3)

我们目前正在考虑使用Roslyn Scripting API支持相同的场景,即编译代码,以便您可以针对不同的范围独立执行它。它可能与DLR Hosting API略有不同,到我们发布时,计划可能会彻底改变。我应该发布我更新的脚本规范。我还没有这样做,因为我们没有在CTP2的交互/脚本编写区域做太多工作,而是专注于编译器API。我们已经勾勒出了我们对您的问题的思考方向。我今天会尝试这样做,所以在Roslyn论坛上,请看论坛顶部的固定帖子,我将通过更新规范的链接进行更新。

谢谢, 比尔

答案 1 :(得分:0)

我对罗斯林一无所知,但看起来这会完成你所追求的目标。 Loading an assembly generated by the Roslyn compiler