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

问题描述 投票:0回答:4

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

这是如何做到的?

c# .net runtime
4个回答
11
投票

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

CompileAssemblyFromDom
CompileAssemblyFromFile
CompileAssemblyFromSource

2
投票

CodeDOM是你的朋友


1
投票

MSDN 有一系列很棒的文章解释了这一点...

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.