此次C#在線運行采用cmd.exe用csc對文件進行編譯,然后再運行的思路實現在線運行的效果。不過會生成二個文件(.cs和.exe),可能需要定期清除臨時文件夾。
首先利用時間戳生成唯一文件名,然后將前台傳回的代碼寫入生成的文件中。


接着用process調用cmd.exe程序,啟動后輸入多個命令行運行,對文件進行編譯,生成可運行的exe文件。
注意:1.用多行writeLine實現多命令行運行
2.調用csc是需要寫出完整路徑名,因為該程序是在D盤下運行的,無法在D盤中找到csc的程序
3.運行完要加exit退出,以方便后續的運行。


最后利用同樣的方法調用生成的exe文件,就可運行出結果,通過對output的輸出信息進行字符串分割處理,得到想要的結果,也可以在exeCMD
方法中捕捉到編譯錯誤信息返回。