Emitting Resources with Reflection Emit
Resources that are recorded in the assembly manifest can be managed resources or manifest resource blobs, and each of these can be included in the assembly either by linking or by embedding. All four scenarios are supported for dynamic assemblies.
To embed a managed resource into the manifest module of a dynamic assembly, or into a satellite module, use the ModuleBuilderDefineResource method to get a resource writer, and the ResourceWriterAddResource method to add the resource.
To link a manifest resource blob into a dynamic assembly, use the AssemblyBuilderAddResourceFile method to add the linked resource.
In addition, a single Win32 resource can be attached to an assembly using the AssemblyBuilderDefineUnmanagedResource method or the ModuleBuilderDefineUnmanagedResource method. This resource does not appear in the assembly manifest.
An unmanaged version information resource can be added to a dynamic assembly using the AssemblyBuilderDefineVersionInfoResource method. DefineVersionInfoResource builds a version information resource using the properties of the AssemblyName class.