为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
繁星点点滴滴 2022-11-21 22:03:42

我有个问题。如何释放.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.sycdn.imooc.com/637b85510001a20405790245.jpg

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



查看完整描述

1 回答

?
慕婉清6462132

TA贡献1507条经验 获得超2个赞

CodeDomProvider.CreateAssemblyFromSource期望数组中的每个字符串都是一个源文件——您为每个元素提供一行。

换句话说,您不需要先拨打电话Split。只需使用:

var code = new[] { input };


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 3 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信