Microsoft.CSharp.CSharpCodeProvider を使用して、アセンブリをプログラムでコンパイルし、外部 .cs ファイルからいくつかの関数を実行しています。
しかし、これらの機能がファイルシステムなどに変更を加えることを禁止する方法はありますか (何らかのサンドボックスで実行する必要があります)。
CompilerParameters に「-nostdlib」オプションを追加して、結果のアセンブリが System.IO.File や他のクラスにアクセスできないようにすることを考えていました。しかし、System.Object、System.ValueType などが必要です。
現在、次のエラーが発生しています。
error CS0518: The predefined type `System.Object' is not defined or imported
error CS0518: The predefined type `System.ValueType' is not defined or imported
error CS0518: The predefined type `System.Attribute' is not defined or imported
error CS0518: The predefined type `System.Int32' is not defined or imported
... (too many of them)
システムに深刻な損害を与える可能性のあるクラス (System.IO.File、System.IO.Directory、System.Net.(something)、System.Threading.(something) など) なしでこれらのクラスを追加するにはどうすればよいですか?
または、もっと簡単な方法がありますか?ありがとうございました。