if you want to create an assembly dynamically in the current domain, this is a method to perform this:

using System;

using System.Reflection;

using System.Reflection.Emit;

namespace yourProjectname

{

class Program

{

static void Main(string[] args)

{

try

{

//Define an assembly name

AssemblyName oAssemblyName = new AssemblyName("myAssembly");

//Build the assembly

AssemblyBuilder oAssBuilder =

AppDomain.CurrentDomain.DefineDynamicAssembly(oAssemblyName, AssemblyBuilderAccess.Save);

//Save the assembly as ILOnly working on I386 32 bit processor

//An argument exception will be thrown if you precise the path

// C:\...

oAssBuilder.Save(@"myAssembly.dll");

Console.WriteLine("The assembly is dynamically created in the current domain");

Console.Read();

}

catch (AppDomainUnloadedException caught)

{

Console.WriteLine(caught.Message);

}

}

}

}

It is also possible to create assemblies in a new domain you just replace currentDomain by createDomain