Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 限制MS脚本引擎中名称空间的使用_C#_.net_Windows_Scripting_Scriptengine - Fatal编程技术网

C# 限制MS脚本引擎中名称空间的使用

C# 限制MS脚本引擎中名称空间的使用,c#,.net,windows,scripting,scriptengine,C#,.net,Windows,Scripting,Scriptengine,NET Framework具有强大的功能,支持在运行时编译代码并运行代码,以实现某些类型的脚本功能。CodeProject上已经有一些脚本引擎可用,Microsoft也有自己的库 我正在开发一个web自动化软件,我想在应用程序中包括Microsoft脚本引擎 问题是脚本引擎允许在引用的程序集中使用所有名称空间,我想将使用限制为选定的几个名称空间 using System; // allowed. using System.Linq; // allowed. using System.Reflec

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

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

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

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

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

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


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

您可以访问将要编译的代码吗?(我指的是代表代码的字符串)那么,您计划使用哪个引擎?解决方案可能取决于此。是否要限制名称空间或dll(如System.dll)的使用?如果“禁止”名称空间与“允许”名称空间位于同一DLL中,则第一个名称空间几乎无法实现。。。或者你想把它作为某种安全措施(沙箱…)来做?