I'd like to create an assembly in memory, using an using the classes in Reflection.Emit
Currently, I can create the assembly and get it's bytes using something like
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 ...
}
However, it does so by creating a file on the local filesystem. I don't actually need the file, just the bytes that would be in the file.
Is it possible to create the assembly without writing any files?
This is not possible at this point in time. The C# team is planning a "compiler as a service" feature that hopefully will be included in C# 5.0.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With