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.


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.

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft