2016-12-01 43 views
-2

我试图通过CSharpProvider保存到桌面生成的代码中。我怎样才能做到这一点?如何在运行时编译中保存生成的exe文件

CodeDomProvider codeProvider = CodeDomProvider.CreateProvider("CSharp"); 
string Output = "Out.exe"; 
Button ButtonObject = (Button)sender; 

textBox2.Text = ""; 
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters(); 
//Make sure we generate an EXE, not a DLL 
parameters.GenerateExecutable = true; 
parameters.OutputAssembly = Output; 
CompilerResults results = codeProvider.CompileAssemblyFromSource(parameters, textBox1.Text); 

if (results.Errors.Count > 0) 
{ 
    textBox2.ForeColor = Color.Red; 
    foreach (CompilerError CompErr in results.Errors) 
    { 
     textBox2.Text = textBox2.Text + 
        "Line number " + CompErr.Line + 
        ", Error Number: " + CompErr.ErrorNumber + 
        ", '" + CompErr.ErrorText + ";" + 
        Environment.NewLine + Environment.NewLine; 
    } 
} 
else 
{ 
    //Successful Compile 
    textBox2.ForeColor = Color.Blue; 
    textBox2.Text = "Success!"; 
    //If we clicked run then launch our EXE 
    if (ButtonObject.Text == "Run") Process.Start(Output); 
} 

我不想运行它只是保存它。

+0

你有没有尝试设置out.exe有一个路径? – BugFinder

+0

是的,它的工作谢谢你。 – DeadLock

回答

-1

我已经解决了。将out.exe更改为c:\ out.exe。

相关问题