【发布时间】:2012-03-17 17:20:04
【问题描述】:
我有一些类(简单类),我想在运行时编译这个类并创建(在运行时)一些包含这个类的 dll。
有什么办法吗?
谢谢。
【问题讨论】:
-
使用
CSharpCodeProvider,这可能会有所帮助:msdn.microsoft.com/en-gb/library/…
我有一些类(简单类),我想在运行时编译这个类并创建(在运行时)一些包含这个类的 dll。
有什么办法吗?
谢谢。
【问题讨论】:
CSharpCodeProvider,这可能会有所帮助:msdn.microsoft.com/en-gb/library/…
是的,使用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 });
}
}
【讨论】:
您可以使用CSharpCodeProvider 在运行时编译代码。见this MSDN blog。
PS。通过快速谷歌搜索找到;)
【讨论】: