ユーザーがコードを貼り付けてプリセット言語(C#、VB.NET、Python、Rubyなど)の1つを選択するテキストボックスをASP.NETページに配置する必要があり、コードが正常にコンパイルされるかどうかを確認する必要があります。そうでない場合は、エラーと警告を行番号で表示する必要があります。
どうすればこれを行うことができますか?
ユーザーがコードを貼り付けてプリセット言語(C#、VB.NET、Python、Rubyなど)の1つを選択するテキストボックスをASP.NETページに配置する必要があり、コードが正常にコンパイルされるかどうかを確認する必要があります。そうでない場合は、エラーと警告を行番号で表示する必要があります。
どうすればこれを行うことができますか?
サポートしたいあらゆる種類のコンパイラをホストし、それらのAPIを使用する必要があります。コンパイラがAPIを公開していない場合は、APISystem.Diagnostics.Process
を起動し、解析のために出力を取得するために使用する必要があります。
ただし、これは簡単な作業ではありません。
これが必要だと確信している場合は、いくつか質問してください。
そして、これは氷山の一角にすぎません。
あなたのコメントに答えると、はい、 CodeDOMと呼ばれるC#およびVB.NET用のコンパイラAPIがあります。
ネット上にはたくさんの情報があります。この質問もチェックしてみてください。
昨日リリースされたhttp://msdn.microsoft.com/en-us/roslynでRoslynプロジェクト(以前のCompiler as a Service)を確認することをお勧めします。これは、C#およびVB用の新しいコンパイラAPIです。PythonやRubyには役立ちませんが、出荷後(Dev 11以降)にC#とVBに必要なことを実行する必要があります。
C#およびVBの場合、Roslyn CTPを使用してCompilationオブジェクトを作成してから、GetDiagnostics()メソッドを呼び出してエラーを特定します。