Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

AssemblyName Constructors

Definition

Namespace:
System.Reflection
Assemblies:
mscorlib.dll, System.Reflection.dll
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Reflection.dll
Assembly:
System.Runtime.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Initializes a new instance of the AssemblyName class.

Overloads

Name Description
AssemblyName()

Initializes a new instance of the AssemblyName class.

AssemblyName(String)

Initializes a new instance of the AssemblyName class with the specified display name.

AssemblyName()

Source:
AssemblyName.cs
Source:
AssemblyName.cs
Source:
AssemblyName.cs
Source:
AssemblyName.cs
Source:
AssemblyName.cs

Initializes a new instance of the AssemblyName class.

public:
 AssemblyName();
public AssemblyName();
Public Sub New ()

Examples

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 System;
using System.Reflection;
using System.Threading;
using System.Reflection.Emit;

public class AssemblyName_Constructor
{
 public 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", MethodAttributes.Public | MethodAttributes.HideBySig |
 MethodAttributes.Static, typeof(void), null);
 // 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);
 }

 public static void Main()
 {
 // Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
 AssemblyName myAssemblyName = new AssemblyName();
 myAssemblyName.Name = "MyAssembly";
 myAssemblyName.Version = new Version("1.0.0.2001");
 MakeAssembly(myAssemblyName, "MyAssembly.exe");

 // Get all the assemblies currently loaded in the application domain.
 Assembly[] myAssemblies = Thread.GetDomain().GetAssemblies();

 // Get the dynamic assembly named 'MyAssembly'.
 Assembly myAssembly = null;
 for(int i = 0; i < myAssemblies.Length; i++)
 {
 if(String.Compare(myAssemblies[i].GetName().Name, "MyAssembly") == 0)
 myAssembly = myAssemblies[i];
 }
 if(myAssembly != null)
 {
 Console.WriteLine("\nDisplaying the assembly name\n");
 Console.WriteLine(myAssembly);
 }
 }
}
Imports System.Reflection
Imports System.Threading
Imports System.Reflection.Emit

Public Class AssemblyName_Constructor
 
 Public Shared Sub MakeAssembly(myAssemblyName As AssemblyName, fileName As String)
 ' Get the assembly builder from the application domain associated with the current thread.
 Dim myAssemblyBuilder As AssemblyBuilder = Thread.GetDomain().DefineDynamicAssembly(myAssemblyName, AssemblyBuilderAccess.RunAndSave)
 ' Create a dynamic module in the assembly.
 Dim myModuleBuilder As ModuleBuilder = myAssemblyBuilder.DefineDynamicModule("MyModule", fileName)
 ' Create a type in the module.
 Dim myTypeBuilder As TypeBuilder = myModuleBuilder.DefineType("MyType")
 ' Create a method called 'Main'.
 Dim myMethodBuilder As MethodBuilder = myTypeBuilder.DefineMethod("Main", MethodAttributes.Public Or MethodAttributes.HideBySig Or MethodAttributes.Static, GetType(object), Nothing)
 Dim myILGenerator As ILGenerator = 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)
 End Sub
 
 
 Public Shared Sub Main()
 

 ' Create a dynamic assembly with name 'MyAssembly' and build version '1.0.0.2001'.
 Dim myAssemblyName As New AssemblyName()
 myAssemblyName.Name = "MyAssembly"
 myAssemblyName.Version = New Version("1.0.0.2001")
 MakeAssembly(myAssemblyName, "MyAssembly.exe")
 
 ' Get all the assemblies currently loaded in the application domain.
 Dim myAssemblies As [Assembly]() = Thread.GetDomain().GetAssemblies()
 
 ' Get the dynamic assembly named 'MyAssembly'. 
 Dim myAssembly As [Assembly] = Nothing
 Dim i As Integer
 For i = 0 To myAssemblies.Length - 1
 If [String].Compare(myAssemblies(i).GetName().Name, "MyAssembly") = 0 Then
 myAssembly = myAssemblies(i)
 End If
 Next i
 If Not (myAssembly Is Nothing) Then
 Console.WriteLine(ControlChars.Cr + "Displaying the assembly name" + ControlChars.Cr)
 Console.WriteLine(myAssembly)
 End If
 End Sub
End Class

Applies to

AssemblyName(String)

Source:
AssemblyName.cs
Source:
AssemblyName.cs
Source:
AssemblyName.cs
Source:
AssemblyName.cs
Source:
AssemblyName.cs

Initializes a new instance of the AssemblyName class with the specified display name.

public:
 AssemblyName(System::String ^ assemblyName);
public AssemblyName(string assemblyName);
new System.Reflection.AssemblyName : string -> System.Reflection.AssemblyName
Public Sub New (assemblyName As String)

Parameters

assemblyName
String

The display name of the assembly, as returned by the FullName property.

Exceptions

assemblyName is null.

assemblyName is a zero-length string.

The referenced assembly could not be found, or could not be loaded.

Note: In .NET for Windows Store apps or the Portable Class Library, catch the base class exception, IOException, instead.

Examples

The following example creates an instance of AssemblyName from a display name. The individual elements of the display name are output to the console as properties of the AssemblyName object.

using System;
using System.Reflection;

public class AssemblyNameDemo
{
 public static void Main()
 {
 // Create an AssemblyName, specifying the display name, and then
 // print the properties.
 AssemblyName myAssemblyName =
 new AssemblyName("Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null");
 Console.WriteLine("Name: {0}", myAssemblyName.Name);
 Console.WriteLine("Version: {0}", myAssemblyName.Version);
 Console.WriteLine("CultureInfo: {0}", myAssemblyName.CultureInfo);
 Console.WriteLine("FullName: {0}", myAssemblyName.FullName);
 }
}
/* This code example produces output similar to the following:

Name: Example
Version: 1.0.0.2001
CultureInfo: en-US
FullName: Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null
 */
Imports System.Reflection

Public Class AssemblyNameDemo
 
 Public Shared Sub Main()
 
 ' Create an AssemblyName, specifying the display name, and then
 ' print the properties.
 Dim myAssemblyName As New _
 AssemblyName("Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null")
 Console.WriteLine("Name: {0}", myAssemblyName.Name)
 Console.WriteLine("Version: {0}", myAssemblyName.Version)
 Console.WriteLine("CultureInfo: {0}", myAssemblyName.CultureInfo)
 Console.WriteLine("FullName: {0}", myAssemblyName.FullName)

 End Sub 
End Class 

' This code example produces output similar to the following:
'
'Name: Example
'Version: 1.0.0.2001
'CultureInfo: en-US
'FullName: Example, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null

Remarks

The supplied assemblyName is parsed, and the appropriate fields of the new AssemblyName are initialized with values from the display name. This is the recommended way of parsing display names. Writing your own code to parse display names is not recommended.

Applies to


Feedback

Was this page helpful?