用于C#/ .NET应用程序的沙箱中的脚本语言

[这个问题类似于这个问题,但我也对沙箱的可能性感兴趣。]

我正在考虑在我的C#/ .NET应用程序中嵌入脚本语言,然后将我的一些应用程序API暴露给脚本。 似乎有很多好的选择(Lua,Boo,IronPython等),但是有没有简单的选项限制脚本语言的内置函数被使用? 例如,我不希望脚本能够执行I / O,除非通过我明确公开的API,因此不打印到控制台,打开文件等。这些脚本语言中的任何一种都提供了一种简单的方法这个?

您可以将te脚本加载到其他AppDomain中,并控制第二个AppDomain的权限。

这个链接应该让你开始:
http://blogs.msdn.com/shawnfa/archive/2005/08/08/449050.aspx

我自己在Windows上使用Powershell作为脚本语言,发现它非常有用,如果你熟悉.NET,那就更容易了。

在这里下载两页参考文档 ,这是您开始使用的全部内容。

但是,您可以使用.NET System.IO命名空间通过Powershell执行IO操作

同样张贴# 此链接