一尘不染

在运行时动态生成DLL程序集

c#

目前,我有一些正在动态生成的代码。换句话说,该程序将动态创建一个C#.cs文件,其目的是将该C#文件包含在另一个项目中。

挑战在于,我想生成一个.DLL文件而不是生成一个C#.cs文件,这样它就可以被任何一种.NET应用程序(不仅是C#)引用,因此更加有用。


阅读 251

收藏
2020-05-19

共1个答案

一尘不染

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

CSharpCodeProvider codeProvider = new CSharpCodeProvider();
ICodeCompiler icc = codeProvider.CreateCompiler();
System.CodeDom.Compiler.CompilerParameters parameters = new CompilerParameters();
parameters.GenerateExecutable = false;
parameters.OutputAssembly = "AutoGen.dll";
CompilerResults results = icc.CompileAssemblyFromSource(parameters, yourCodeAsString);

改编自http://support.microsoft.com/kb/304655

2020-05-19