如何从几个类的代码中动态创建.dll?
创作-示例:
var test = CodeDomProvider
.CreateProvider("CSharp")
.CompileAssemblyFromSource(parameters, "public class MyClass { ... }");
CompileAssemblyFromSource需要一个字符串(类的表示)。
我不想将生成的程序集中的每个类都作为字符串提供,所以我想在创建时传递它们。
示例:
public class MyClass
{
[DataMember(Order = 1)]
public bool Valid{ get; set; }
[DataMember(Order = 1)]
public string SomeText{ get; set; }
}
是否有像
这样的东西var test = CodeDomProvider
.CreateProvider("CSharp")
.CompileAssemblyFromSource(parameters, MyClass);
答案 0 :(得分:0)
解决方案:
添加"参考组件"作为第一个参数传递给CompileAssemblyFromSource的参数。
var parameters = new CompilerParameters
{
GenerateExecutable = false,
OutputAssembly = MY_ASSEMBLY,
ReferencedAssemblies = {"System.Core.dll", "System.ServiceModel.dll"}
};