从输入字符串中释放 .exe 文件作为代码

我有个问题。如何释放.exe文件string input?


我想编译成exe Hello World C#示例。这是我的代码:


var code = input.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);


var provider = CodeDomProvider.CreateProvider("CSharp");

string exeName = string.Format("test.exe", Environment.CurrentDirectory);

var parameters = new CompilerParameters

{

    GenerateExecutable = true,

    OutputAssembly = exeName,

    GenerateInMemory = false,

    TreatWarningsAsErrors = false

};

parameters.ReferencedAssemblies.Add("System.dll");


var compilerResults = provider.CompileAssemblyFromSource(parameters, code);


if (compilerResults.Errors.Count > 0)

    //Error


else

    //Succes, file saved int Debug folder (exe file)

从上面的代码中,我想得到codeas string,然后我创建string[]数组(每个数组的记录是下一行代码)。然后,我想将该文件保存到exe文件Debug夹中。


但是,现在,从compilerResults.Errors我得到的32错误看起来像这样:

http://img2.mukewang.com/637b85510001a20405790245.jpg

我相信这与将此功能映射到c#语言有关。任何想法,我做错了什么?



繁星点点滴滴
浏览 51回答 1
1回答

慕婉清6462132

CodeDomProvider.CreateAssemblyFromSource期望数组中的每个字符串都是一个源文件——您为每个元素提供一行。换句话说,您不需要先拨打电话Split。只需使用:var code = new[] { input };
打开App,查看更多内容
随时随地看视频慕课网APP