使用批处理文件从命令行运行CSC.exe
我正在使用以下批处理脚本代码来编译c#代码,但是我看到的是一个黑色窗口(csc.exe)闪烁,我看不到创建的exe文件。使用批处理文件从命令行运行CSC.exe
start /wait C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe /out:aa.exe Program.cs
start aa.exe
pause
我想在同一位置创建文件aa.exe为Program.cs的
基本上我想要的是动态编译的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;
而不是使用start
来启动该程序,请考虑cmd
。如果您使用cmd /K
,它应该在命令运行后保持打开状态,让您有时间检查输出。
是的!这使我能够看到现在的错误并正常工作。 –
标记正确的答案有助于通知他人您的问题已得到解决,而不会花费时间排除故障。干杯 –
不,我不想使用任何预编译的代码。我想立即编译并执行它。 –
@AkshayJ:请参阅MSDN可以做什么CSharpCodeProvider。它是针对C#编译器的可编程包装器,可以从字符串编译代码并生成程序集,既可以存储在磁盘上,也可以存储在内存中。并按需求执行。 – abatishchev
不要忘了在命令添加引用:
/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"
下面是关于这个问题的更多信息:命令行建筑CSC.EXE(http://msdn.microsoft.com/ en-us/library/vstudio/78f4aasd.aspx) –