在内存中创建装配

Jar*_*d I 5 c# assemblies

我想使用中的类在内存中创建一个程序集 Reflection.Emit

目前,我可以使用以下方法创建程序集并获取其字节

AssemblyBuilder builder =
   AppDomain.CurrentDomain.DefineDynamicAssembly(..., 
      AssemblyBuilderAccess.Save);

... create the assembly ...

builder.Save(targetFileName);

using(FileStream fs = File.Open(targetFileName, FileMode.Open))
{
   ... read the bytes from the file stream ...
}
Run Code Online (Sandbox Code Playgroud)

但是,它是通过在本地文件系统上创建文件来实现的。我实际上不需要文件,只需要文件中的字节。

是否可以在不编写任何文件的情况下创建程序集?

Ste*_*ary 3

目前这是不可能的。C# 团队正在计划“编译器即服务”功能,希望将其包含在 C# 5.0 中。