【问题标题】:How do I allow my .net program to compile C# code while running?如何让我的 .net 程序在运行时编译 C# 代码?
【发布时间】:2009-01-13 21:39:20
【问题描述】:

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

这是怎么做到的?

【问题讨论】:

    标签: c# .net compiler-construction runtime


    【解决方案1】:

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

    CompileAssemblyFromDom
    CompileAssemblyFromFile
    CompileAssemblyFromSource
    

    【讨论】:

      【解决方案2】:

      CodeDOM是你的朋友

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-09-28
            • 2022-01-18
            相关资源
            最近更新 更多