如何允许我的.net程序在运行时编译C#代码?

时间:2009-01-13 21:39:21

标签: c# .net compiler-construction runtime

我见过一些允许您选择C#.cs源文件的.net应用程序,程序本身将编译此代码并运行它。

这是怎么做到的?

4 个答案:

答案 0 :(得分:11)

它可能使用Microsoft.CSharp命名空间中的CSharpCodeProvider类。您可能希望查看以下方法来编译代码:

CompileAssemblyFromDom
CompileAssemblyFromFile
CompileAssemblyFromSource

答案 1 :(得分:2)

CodeDOM是你的朋友

答案 2 :(得分:1)

MSDN有很多文章解释这个......

http://msdn.microsoft.com/en-us/library/650ax5cx.aspx

答案 3 :(得分:0)

我的猜测是通过显式调用csc.exe编译器。请记住,部署中必须包含此依赖项和任何依赖项。

您可以查看解释C#文件的CS-Script。它的免费但不公开的来源......