AssemblyBuilder::DefineUnmanagedResource Method (String^)
Defines an unmanaged resource file for this assembly given the name of the resource file.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- resourceFileName
-
Type:
System::String^
The name of the resource file.
| Exception | Condition |
|---|---|
| ArgumentException | An unmanaged resource was previously defined. -or- The file resourceFileName is not readable. -or- resourceFileName is the empty string (""). |
| ArgumentNullException | resourceFileName is null. |
| FileNotFoundException | resourceFileName is not found. -or- resourceFileName is a directory. |
| SecurityException | The caller does not have the required permission. |
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 will throw the System.ArgumentException. Multiple unmanaged resources need to be merged with a tool such as the Microsoft ResMerge utility (not supplied with the common language runtime).
Note |
|---|
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. |
The example below demonstrates a call to DefineUnmanagedResource, passing an external resource file.
void main() { AssemblyBuilder^ myAssembly = CreateAssembly("MyEmitTestAssembly"); // Defines a standalone managed resource for this assembly. IResourceWriter^ myResourceWriter = myAssembly->DefineResource( "myResourceFile", "A sample Resource File", "MyAssemblyResource.resources", ResourceAttributes::Private ); myResourceWriter->AddResource( "AddResource Test", "Testing for the added resource" ); myAssembly->Save(myAssembly->GetName()->Name + ".dll" ); // Defines an unmanaged resource file for this assembly. myAssembly->DefineUnmanagedResource( "MyAssemblyResource.resources" ); };
when invoked late-bound through mechanisms such as Type::InvokeMember. Associated enumeration: ReflectionPermissionFlag::MemberAccess.
The FileIOPermissionAccess.Read permission is needed to access the resource file resourceFileName.
Available since 1.1
