ModuleBuilder.DefineUnmanagedResource Method (String)


Defines an unmanaged resource given the name of Win32 resource file.

Namespace:   System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public void DefineUnmanagedResource(
	string resourceFileName


Type: System.String

The name of the unmanaged resource file.

Exception Condition

An unmanaged resource has already been defined in the module's assembly.


resourceFileName is the empty string ("").


resourceFileName is null.


resourceFileName is not found.


resourceFileName is a directory.

An assembly can be associated with only one unmanaged resource. This means that calling DefineVersionInfoResource or DefineUnmanagedResource after either one of the methods was called previously throws ArgumentException. Multiple unmanaged resources need to be merged with a tool such as the Microsoft ResMerge utility (not supplied with the common language runtime).


Starting with the .NET Framework 2.0 Service Pack 1, this member no longer requires ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag. (See Security Issues in Reflection Emit.) To use this functionality, your application should target the .NET Framework 3.5 or later.

.NET Framework
Available since 1.1
Available since 2.0
Return to top