AssemblyName.Version Property
Gets or sets the major, minor, build, and revision numbers of the assembly.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System.VersionAn object that represents the major, minor, build, and revision numbers of the assembly.
All components of the version must be integers greater than or equal to zero. Metadata restricts the major, minor, build, and revision components for an assembly to a maximum value of UInt16.MaxValue - 1. If a component exceeds this value, no error is thrown; however, in a dynamic assembly, that component is zero.
This section contains two examples. The first example shows how to retrieve the version of the currently executing assembly. The second example shows how to use the Version property to specify the assembly version when you emit a dynamic assembly.
Example 1
The following example retrieves and displays the version numbers of the currently executing assembly and the assembly that contains the String class.
Imports System Imports System.Reflection <Assembly:AssemblyVersion("1.1.0.0")> Class Example Shared Sub Main() Console.WriteLine("The version of the currently executing assembly is: {0} ", _ GetType(Example).Assembly.GetName().Version) Console.WriteLine("The version of mscorlib.dll is: {0} ", _ GetType(String).Assembly.GetName().Version) End Sub End Class ' This example produces output similar to the following: ' 'The version of the currently executing assembly is: 1.1.0.0 'The version of mscorlib.dll is: 2.0.0.0
Example 2
The following example emits a dynamic assembly and saves it to the current directory. When the assembly is created, the Version property is used to specify version information for the assembly.
Imports System Imports System.Reflection Imports System.Threading Imports System.Reflection.Emit Imports Microsoft.VisualBasic 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 'MakeAssembly 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 'Main End Class 'AssemblyName_Constructor
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