AssemblyBuilder.DefineResource Method (String, String, String, ResourceAttributes)


Defines a standalone managed resource for this assembly. Attributes can be specified for the managed resource.

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

public IResourceWriter DefineResource(
	string name,
	string description,
	string fileName,
	ResourceAttributes attribute


Type: System.String

The logical name of the resource.

Type: System.String

A textual description of the resource.

Type: System.String

The physical file name (.resources file) to which the logical name is mapped. This should not include a path.

Type: System.Reflection.ResourceAttributes

The resource attributes.

Return Value

Type: System.Resources.IResourceWriter

A ResourceWriter object for the specified resource.

Exception Condition

name has been previously defined or if there is another file in the assembly named fileName.


The length of name is zero.


The length of fileName is zero.


fileName includes a path.


name or fileName is null.


The caller does not have the required permission.

Fine-grain resources can be added with the returned ResourceWriter by calling AddResource.

fileName should not be the same as that of any other persistable module, standalone managed resource, or the standalone manifest file.

The runtime calls the Close method when the dynamic assembly is saved.


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.


when invoked late-bound through mechanisms such as Type.InvokeMember. Associated enumeration: ReflectionPermissionFlag.MemberAccess.


Write=true or Append=true

.NET Framework
Available since 1.1
Return to top