.NET Framework具有支持在运行时编译代码并运行代码以实现某些脚本功能的强大功能。 CodeProject上已经有一些脚本引擎,微软也有自己的库。
我正在开发一个Web自动化软件,我想在应用程序中包含Microsoft脚本引擎。
问题是脚本引擎允许在引用的程序集中使用所有名称空间,并且我想将使用限制在选定的几个名称空间中。
using System; // allowed.
using System.Linq; // allowed.
using System.Reflection; // restrict.
如何在脚本中限制命名空间的使用。
答案 0 :(得分:1)
按名称限制命名空间并没有太大的成效,因为扩展程序只能包含您在自己的程序集中不喜欢的类的副本,但只是重命名。
听起来你真正想要的是一个安全边界。将扩展名放在不受信任的AppDomain中。