Я возился с идеей использования способности C # компилировать код по запросу в качестве основы языка сценариев. Мне было интересно, как я могу изолировать сценарии, которые я выполняю, чтобы они не могли получить доступ к файловой системе, сети и т. Д. В принципе, мне нужны ограниченные разрешения для выполняемого сценария.
Шаги, которые я предпринимаю:
CompilerResults r = CSharpCodeProvider.CompileAssemblyFromSource(source);
Assembly a = r.CompiledAssembly;
IScript s = a.CreateInstance(...);
s.EntryPoint(...);