CSHARPCODEPROVIDER输出控制台应用程序作为Windows Form App



我有一些代码可以使用CSHARPCODEPROVIDER创建c#source的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:UsersmeAppDataRoamingtest.exe";
    CompilerResults results =
       compiler.CompileAssemblyFromSource(compilerparams, code);
    if (results.Errors.HasErrors)
    {
        StringBuilder errors = new StringBuilder("Compiler Errors :rn");
        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";

最新更新