【问题标题】:How to create dll that contain class in runTime ?如何在 runTime 中创建包含类的 dll?
【发布时间】:2012-03-17 17:20:04
【问题描述】:

我有一些类(简单类),我想在运行时编译这个类并创建(在运行时)一些包含这个类的 dll。

有什么办法吗?

谢谢。

【问题讨论】:

标签: c# .net


【解决方案1】:

是的,使用CSharpCodeProvider

您可以阅读 sample code 中的“Snippy”,我在 C# 中使用的“Snippy”深入了解 - 它就是这样的事情。

您可以要求CSharpCodeProvider 写入文件或在内存中构建程序集。

示例代码:

using System;
using System.CodeDom.Compiler;
using Microsoft.CSharp;

class Test
{
    static void Main()
    {
        var provider = new CSharpCodeProvider();
        var options = new CompilerParameters {
            OutputAssembly = "Foo.dll"
        };
        string source = "public class Foo {}";

        provider.CompileAssemblyFromSource(options, new[] { source });
    }
}

【讨论】:

    【解决方案2】:

    您可以使用CSharpCodeProvider 在运行时编译代码。见this MSDN blog

    PS。通过快速谷歌搜索找到;)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-01
      • 2018-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多