一个创建另一个程序的程序

zai*_*aqi 6 .net c#

我需要创建一个程序来创建另一个程序但不是编译器.

例如,

我编写了一个接受用户输入字符串的程序.假设用户输入"Pluto".然后,该程序应该创建一个单独的.exe,在执行时会显示"Hello Pluto".

我怎样才能做到这一点?如果您可以在C#和Windows Forms中提供示例,那就更好了.

谢谢.

Jon*_*eet 14

基本上这一个编译器 - 只是一个特别简单的语言.

如果你能用C#表达最终的程序,最简单的解决方案可能是使用CSharpCodeProvider.这就是我为Snippy所做的,这是一个帮助C#深度轻松运行代码片段的小工具.Snippy的源代码位于深度网站上的C#中,可以让您了解自己可以做什么 - 基本上您只是希望它将可执行文件写入文件而不是在内存中构建.

或者,查看MSDN文档 ,其中包含生成可执行文件的示例.

  • 一切顺利.看看问题清单.许多好问题都被低估了.请停止该机器人! (2认同)

Fem*_*ref 11

您要查找的类位于Microsoft.CSharp命名空间中

CSharpCodeProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler icc = codeProvider.CreateCompiler();
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = true;
parameters.OutputAssembly = Output;
CompilerResults results = icc.CompileAssemblyFromSource(parameters,SourceString);
Run Code Online (Sandbox Code Playgroud)

(来自使用谷歌发现的微软支持 - 不到20秒)