2

.NET Framework 具有强大的功能,支持在运行时编译代码并运行它,以实现某些类型的脚本功能。CodeProject 上已经有一些脚本引擎可用,微软也有自己的库。

我正在开发一个网络自动化软件,我想在应用程序中包含 Microsoft 脚本引擎。

问题是脚本引擎允许在引用的程序集中使用所有命名空间,并且我想将使用限制为选定的几个命名空间。

using System; // allowed.
using System.Linq; // allowed.
using System.Reflection; // restrict.

如何在脚本中限制名称空间的使用。

4

1 回答 1

1

按名称限制命名空间并没有多大作用,因为扩展可以只在它自己的程序集中包含您不喜欢的类的副本,而只是重命名。

听起来您真正想要的是安全边界。将扩展放在不受信任的 AppDomain 中。

于 2011-09-03T14:40:01.193 回答