使用批处理文件从命令行运行CSC.exe

时间:2012-11-21 03:05:04

标签: c# csc

我使用以下批处理脚本代码来编译c#代码,但我看到的是黑色窗口(csc.exe)闪烁,我看不到创建的exe文件。

start /wait C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe /out:aa.exe Program.cs
start aa.exe
pause

我想在与Program.cs相同的位置创建文件aa.exe

基本上我想要的是动态编译Program.exe中的代码并运行它。我是

using this following references:  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Net.Mail;

3 个答案:

答案 0 :(得分:2)

不要使用start启动该计划,而应考虑cmd。如果你使用cmd /K,它应该在命令运行后保持打开状态,让你有时间检查输出。

答案 1 :(得分:2)

不要忘记在命令中添加引用:

/reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\Microsoft.CSharp.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\mscorlib.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\<dotnet_version>\System.dll"

答案 2 :(得分:1)

使用:

csc.exe /out:StackBackTraceOrRT_FATAL.exe StackBackTraceOrRT_FATAL.cs

或者你想使用`CSharpCodeProvider