AssemblyName Constructor ()
.NET Framework (current version)
Initializes a new instance of the AssemblyName class.
Assembly: mscorlib (in mscorlib.dll)
The following example creates a dynamic assembly named MyAssembly.exe and saves it to your hard disk. After running the example, you can use the Ildasm.exe (IL Disassembler) to examine the assembly metadata.
using namespace System; using namespace System::Reflection; using namespace System::Threading; using namespace System::Reflection::Emit; static void MakeAssembly( AssemblyName^ myAssemblyName, String^ fileName ) { // Get the assembly builder from the application domain associated with the current thread. AssemblyBuilder^ myAssemblyBuilder = Thread::GetDomain()->DefineDynamicAssembly( myAssemblyName, AssemblyBuilderAccess::RunAndSave ); // Create a dynamic module in the assembly. ModuleBuilder^ myModuleBuilder = myAssemblyBuilder->DefineDynamicModule( "MyModule", fileName ); // Create a type in the module. TypeBuilder^ myTypeBuilder = myModuleBuilder->DefineType( "MyType" ); // Create a method called 'Main'. MethodBuilder^ myMethodBuilder = myTypeBuilder->DefineMethod( "Main", static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::HideBySig | MethodAttributes::Static), void::typeid, nullptr ); // Get the Intermediate Language generator for the method. ILGenerator^ myILGenerator = myMethodBuilder->GetILGenerator(); // Use the utility method to generate the IL instructions that print a String* to the console. myILGenerator->EmitWriteLine( "Hello World!" ); // Generate the 'ret' IL instruction. myILGenerator->Emit( OpCodes::Ret ); // End the creation of the type. myTypeBuilder->CreateType(); // Set the method with name 'Main' as the entry point in the assembly. myAssemblyBuilder->SetEntryPoint( myMethodBuilder ); myAssemblyBuilder->Save( fileName ); } int main() { // Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'. AssemblyName^ myAssemblyName = gcnew AssemblyName; myAssemblyName->Name = "MyAssembly"; myAssemblyName->Version = gcnew Version( "1.0.0.2001" ); MakeAssembly( myAssemblyName, "MyAssembly.exe" ); // Get all the assemblies currently loaded in the application domain. array<Assembly^>^myAssemblies = Thread::GetDomain()->GetAssemblies(); // Get the dynamic assembly named 'MyAssembly'. Assembly^ myAssembly = nullptr; for ( int i = 0; i < myAssemblies->Length; i++ ) { if ( String::Compare( myAssemblies[ i ]->GetName()->Name, "MyAssembly" ) == 0 ) myAssembly = myAssemblies[ i ]; } if ( myAssembly != nullptr ) { Console::WriteLine( "\nDisplaying the assembly name\n" ); Console::WriteLine( myAssembly ); } }
Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Show: