2012-04-27 26 views
1

使用的CodeDOM我能够编译我写在一个单独的文件的源代码:CompileAssemblyFromFile:我可以在丰富的文本框中给源代码吗?

CompilerResults results = codeCompiler.CompileAssemblyFromFile(parameters, @"C:\MyScript.cs"); 
    results.CompiledAssembly.GetType("Script").GetMethod("Main").Invoke(null, null); 

有没有一种方式,而不是读取源代码从一个文件 - MyScript.cs - 这样我就可以在表单上放置一个富文本框并将代码放在那里?

+0

你为什么不想要使用的文件,并从中读取? – 2012-04-27 20:48:42

+0

@AntonioBakula:项目要求! :( – Bohn 2012-04-27 20:51:01

回答

2

查看CSharpCodeProvider的文档:它包含一个方法CompileAssemblyFromSource(),它接受一个或多个包含要编译的代码的字符串。

所以,你的代码可能是这样的:

CompilerResults results = codeCompiler.CompileAssemblyFromSource(
    parameters, codeFromTextBox);