.net新进程沙箱,用于不受信任的代码

所以我需要在新进程中运行动态编译的不受信任的代码。 我发现如何在新的AppDomain(http://msdn.microsoft.com/en-us/library/bb763046.aspx)中执行此操作,但不是新进程。 有可能吗?

我需要新进程的原因是因为它更容易捕获标准输出,查看内存和CPU消耗并终止它。

最终目标是编写在线C#编译器。

AppDomains是一种隔离系统中.NET代码的方法。 进程是用于隔离的操作系统机制。 在某种程度上,您将放弃.NET代码的细节,并且必须手动管理进程之间的数据传输。

查看Process类。 听起来您需要将代码编译为.exe,或者在.NET中创建加载代码的主机.exe。 后者似乎更好,因为你可以只写一次主机,然后用该主机编写标准通信代码。

您没有提供有关最终目标的大量信息,但最新版本的.NET提供了各种可能值得快速查看的插件API 。