我CSharpCodeProvider
用来编译程序集,我将CompileParameters
GenerateInMemory
属性设置为,true
因为我不想创建物理文件。
编译后我可以采取CompilerResults
并做这样的事情: -
object x = cr.CompiledAssembly.CreateInstance("MyGeneratedClass");
Console.WriteLine(x);
我得到了预期的输出,CreateInstance
已经奏效了。
但是,我需要能够在AppDomain
不了解程序集的情况下访问当前的类型。我需要做这样的事情: -
Type t = Type.GetType("MyGeneratedClass");
object x = Activator.CreateInstance(t);
问题在于这段代码t
最终为空。现在我怀疑虽然程序集已编译但未加载。我似乎无法找到将此程序集加载到域中以便可以解析其类型名称。
任何人都可以启发我吗?