C# 限制AppDomain程序集

C# 限制AppDomain程序集,c#,.net,c#-4.0,C#,.net,C# 4.0,当我第一次初始化一个应用程序域时,它从14个程序集开始,包括mscor、System和其他程序集,包括System.Data 我有没有办法更改并定义这些起始程序集 在这个新的AppDomain中,我正在编译一些代码,目的是使用它来限制编译的代码。如果我添加了System.IO.File,那么它编译得很好,我希望它不允许这样做。对于问题的第二部分: 我认为你不能在那个级别上控制编译 您可以使用c#解析器来禁止某些名称空间,但我确信有人会找到一种方法来获得这种保护(使用反射等) 最安全的方法是IMH

当我第一次初始化一个应用程序域时,它从14个程序集开始,包括
mscor
System
和其他程序集,包括
System.Data

我有没有办法更改并定义这些起始程序集


在这个新的AppDomain中,我正在编译一些代码,目的是使用它来限制编译的代码。如果我添加了
System.IO.File
,那么它编译得很好,我希望它不允许这样做。

对于问题的第二部分:

我认为你不能在那个级别上控制编译

您可以使用c#解析器来禁止某些名称空间,但我确信有人会找到一种方法来获得这种保护(使用反射等)

最安全的方法是IMHO控制执行而不是编译,您可以使用沙箱控制执行: