.net 3.5 アプリから CSharpCodeProvider を使用して .cs ファイルをコンパイルしようとしています。.net4 コンパイラをターゲットにしたいのですが、「コンパイラ実行可能ファイル csc.exe が見つかりません」というエラーが表示されます。.net4 がインストールされています。以下は、簡潔にするために一部の行を省略して使用しているコードです。CompilerVersion を「v3.5」に設定すると、エラーは発生しません。
CompilerResults results = null;
using (CSharpCodeProvider provider = new CSharpCodeProvider(new Dictionary<string, string>() {{"CompilerVersion", "v4.0"},}))
{
CompilerParameters options = new CompilerParameters();
...
results = provider.CompileAssemblyFromFile(options, Directory.GetFiles(path, "*.cs", SearchOption.AllDirectories));
}