[英]CSharpCodeProvider Output console app as windows form app
我有一些代碼可以使用CSharpCodeProvider從c#源動態創建exe,這里是:
public static void BuildAssembly(string code)
{
Microsoft.CSharp.CSharpCodeProvider provider =
new CSharpCodeProvider();
ICodeCompiler compiler = provider.CreateCompiler();
CompilerParameters compilerparams = new CompilerParameters();
compilerparams.ReferencedAssemblies.Add("System.dll");
compilerparams.GenerateExecutable = true;
compilerparams.GenerateInMemory = false;
compilerparams.OutputAssembly = @"C:\Users\me\AppData\Roaming\test.exe";
CompilerResults results =
compiler.CompileAssemblyFromSource(compilerparams, code);
if (results.Errors.HasErrors)
{
StringBuilder errors = new StringBuilder("Compiler Errors :\r\n");
foreach (CompilerError error in results.Errors)
{
errors.AppendFormat("Line {0},{1}\t: {2}\n",
error.Line, error.Column, error.ErrorText);
}
throw new Exception(errors.ToString());
}
else
{
}
}
一切正常,它將編譯我的控制台應用程序c#代碼。 但是,當我編寫控制台應用程序並且要求控制台不可見時,我只是轉到應用程序屬性,然后將輸出類型從控制台更改為Windows應用程序。 那么我該如何通過上面粘貼的功能來做到這一點? 我看完所有選項,但是..不知道:(
謝謝。
嘗試這個:
compilerparams.CompilerOptions = "/target:winexe";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.