【发布时间】:2011-11-05 03:33:08
【问题描述】:
.NET Framework 具有强大的功能,支持在运行时编译代码并运行它,以实现某些类型的脚本功能。 CodeProject 上已经有一些脚本引擎可用,微软也有自己的库。
我正在开发一个网络自动化软件,我想在应用程序中包含 Microsoft 脚本引擎。
问题是脚本引擎允许在引用的程序集中使用所有命名空间,我想将使用限制在选定的几个命名空间。
using System; // allowed.
using System.Linq; // allowed.
using System.Reflection; // restrict.
如何在脚本中限制命名空间的使用。
【问题讨论】:
-
你能访问将要编译的代码吗? (我的意思是代表代码的字符串)
-
那么,您打算使用哪个引擎?解决方案可能取决于此。
-
您想限制命名空间或 DLL(如 System.dll)的使用吗?如果“禁止”命名空间与“允许”命名空间位于同一个 DLL 中,则第一个几乎无法实现...或者您是否尝试将其作为某种安全措施(沙箱...)?
标签: c# .net windows scripting scriptengine