在.NET 4.0过程中创建.NET 2.0 AppDomain

我需要在.NET 4.0进程中动态创建.NET 2.0兼容程序集。 目前它是通过以下方式实现的:

AssemblyBuilder ab = AppDomain.CurrentDomain.DefineDynamicAssembly(...) ModuleBuilder mb = assemblyBuilder.DefineDynamicModule(...); 

但不幸的是,所有生成的dll都是.NET 4.0(inheritance自我的4.0进程),这与我的其他.NET 2.0进程无关。

知道2个不同的CLR版本的AppDomain如何在同一个进程中共存?

看看这个问题: http : //social.msdn.microsoft.com/Forums/en/clr/thread/1bfd7f40-fd57-4c9f-803f-aa4b19214af9 。

Paul Zhou解释说,可以在同一个Windows进程中托管多个CLR,并提供以下链接以及更详细的信息:

  • CLR托管API
  • 为.NET公共语言运行库创建宿主应用程序
  • 主机CLR

但是,链接看起来像这不是一个微不足道的任务……