我需要创建一个程序来创建另一个程序但不是编译器.
例如,
我编写了一个接受用户输入字符串的程序.假设用户输入"Pluto".然后,该程序应该创建一个单独的.exe,在执行时会显示"Hello Pluto".
我怎样才能做到这一点?如果您可以在C#和Windows Forms中提供示例,那就更好了.
谢谢.
基本上这是一个编译器 - 只是一个特别简单的语言.
如果你能用C#表达最终的程序,最简单的解决方案可能是使用CSharpCodeProvider.这就是我为Snippy所做的,这是一个帮助C#深度轻松运行代码片段的小工具.Snippy的源代码位于深度网站上的C#中,可以让您了解自己可以做什么 - 基本上您只是希望它将可执行文件写入文件而不是在内存中构建.
或者,查看MSDN文档 ,其中包含生成可执行文件的示例.
您要查找的类位于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);
(来自使用谷歌发现的微软支持 - 不到20秒)