Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

AssemblyName.FullName Property

Gets the full name of the assembly, also known as the display name.

Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)

public string FullName { get; }
/** @property */
public String get_FullName ()

public function get FullName () : String

Not applicable.

Property Value

A string that is the full name of the assembly, also known as the display name.

The display name typically consists of the simple name, version number, supported culture, and public key. For example:

mylib, Version=1.2.1900.0, Culture=neutral, PublicKeyToken=a14f3033def15840

Writing your own code to parse display names is not recommended. Instead, pass the display name to the AssemblyName constructor, which parses it and populates the appropriate fields of the new AssemblyName.

When an assembly is loaded, this value can also be obtained using the Assembly.FullName property.

The following example emits a dynamic assembly and saves it to the current directory. When the assembly is created, the code example sets the Name, Version, CultureInfo, and KeyPair properties, which together comprise an assembly's full name, or display name. The FullName property is then used to retrieve the display name.


using System;
using System.Reflection;
using System.Threading;
using System.IO;
using System.Globalization;
using System.Reflection.Emit;
using System.Configuration.Assemblies;

public class AssemblyName_CodeBase
{
   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();
      // Set the codebase to the physical directory were the assembly resides.
      myAssemblyName.CodeBase = Directory.GetCurrentDirectory();
      // Set the culture information of the assembly to 'English-American'.
      myAssemblyName.CultureInfo = new CultureInfo("en-US");
      // Set the hash algoritm to 'SHA1'.
      myAssemblyName.HashAlgorithm = AssemblyHashAlgorithm.SHA1;
      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];
      }
      // Display the full assembly information to the console.
      if(myAssembly != null)
      {
         Console.WriteLine("\nDisplaying the full assembly name\n");
         Console.WriteLine(myAssembly.GetName().FullName);
      }
   }
}

import System.*;
import System.Reflection.*;
import System.Threading.*;
import System.IO.*;
import System.Globalization.*;
import System.Reflection.Emit.*;
import System.Configuration.Assemblies.*;

public class AssemblyNameCodeBase
{
    public static void MakeAssembly(AssemblyName myAssemblyName, 
        String fileName) 
    {
        // Get the assembly builder from the application domain associated 
        // with the current thread.
        AssemblyBuilder myAssemblyBuilder = System.Threading.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, void.class.ToType(), 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);
    } //MakeAssembly

    public static void main(String[] args)
    {
        // Create a dynamic assembly with name 'MyAssembly' and 
        // build version '1.0.0.2001'.
        AssemblyName myAssemblyName = new AssemblyName();

        // Set the codebase to the physical directory were the assembly resides.
        myAssemblyName.set_CodeBase(Directory.GetCurrentDirectory());

        // Set the culture information of the assembly to 'English-American'.
        myAssemblyName.set_CultureInfo(new CultureInfo("en-US"));

        // Set the hash algoritm to 'SHA1'.
        myAssemblyName.set_HashAlgorithm(AssemblyHashAlgorithm.SHA1);
        myAssemblyName.set_Name("MyAssembly");
        myAssemblyName.set_Version(new Version("1.0.0.2001"));
        MakeAssembly(myAssemblyName, "MyAssembly.exe");

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

        // Get the dynamic assembly named 'MyAssembly'. 
        Assembly myAssembly = null;
        for (int i = 0; i < myAssemblies.length; i++) {
            if (String.Compare(((Assembly)myAssemblies.get_Item(i)).GetName()
               .get_Name(), "MyAssembly") == 0) {
                myAssembly = (Assembly)myAssemblies.get_Item(i);
            }
        }

        // Display the full assembly information to the console.
        if (myAssembly != null) {
            Console.WriteLine("\nDisplaying the full assembly name\n");
            Console.WriteLine(myAssembly.GetName().get_FullName());
        }
    } 
} 

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft