如何在runTime中创建包含类的dll

本文关键字:包含类 dll 创建 runTime | 更新日期: 2023-09-27 18:25:57

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

有什么办法吗?

谢谢。

如何在runTime中创建包含类的dll

是的,使用CSharpCodeProvider。

你可以阅读我在深度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 });
    }
}

您可以在运行时使用CSharpCodeProvider编译代码。请参阅此MSDN博客。

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