2016-12-01 17 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に変更しました。

関連する問題