AssemblyName Constructor (String)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Initializes a new instance of the AssemblyName class with the specified display name.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- assemblyName
- Type: System.String
The display name of the assembly, as returned by the FullName property.
| Exception | Condition |
|---|---|
| ArgumentNullException | assemblyName is null. |
| ArgumentException | assemblyName is a zero-length string. |
| FileLoadException | The referenced assembly could not be found, or could not be loaded. |
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. We do not recommend writing your own code to parse display names.
Version Notes
Windows Phone
If assemblyName is an invalid string, AssemblyName throws a FileLoadException instead of an IOException.This section contains two examples. The first example shows how to use the AssemblyName(String) constructor to parse a string that contains a full assembly name. The second example shows how to create an assembly name and use it to define a dynamic assembly.
Example 1
The following example gets the full name of a .NET Framework assembly, parses it by using the AssemblyName(String) constructor, and uses the properties and methods of AssemblyName to display the individual parts.
Note: |
|---|
To run this example, see Building examples that have static TextBlock controls for Windows Phone 8. |
using System; using System.Reflection; public class Example { private const byte mask = 15; private const string hex = "0123456789ABCDEF"; public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Use AssemblyName to parse full assembly names. In this example, the // assembly is mscorlib.dll. string name = typeof(string).Assembly.FullName; AssemblyName asmName = new AssemblyName(name); outputBlock.Text += String.Format("Name: {0}\n", asmName.Name); outputBlock.Text += String.Format("Version: {0}\n", asmName.Version); outputBlock.Text += String.Format("CultureInfo: {0}\n", asmName.CultureInfo); System.Text.StringBuilder pkt = new System.Text.StringBuilder(); foreach( byte b in asmName.GetPublicKeyToken() ) { pkt.Append(hex[b / 16 & mask]); pkt.Append(hex[b & mask]); } outputBlock.Text += String.Format("PublicKeyToken: {0}\n", pkt.ToString()); outputBlock.Text += String.Format("FullName: {0}\n", asmName.FullName); } } /* This example produces output similar to the following: Name: mscorlib Version: 2.0.5.0 CultureInfo: PublicKeyToken: 7CEC85D7BEA7798E FullName: mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e */
Example 2
The following example creates an AssemblyName and uses it to create a dynamic assembly.
Note: |
|---|
To run this example, see Building examples that have static TextBlock controls for Windows Phone 8. |
using System; using System.Reflection; using System.Reflection.Emit; public class Example { public static void Demo(System.Windows.Controls.TextBlock outputBlock) { // Create an AssemblyName, set its properties, and use it to define a dynamic // assembly. AssemblyName aName = new AssemblyName("MyDynamicAssembly"); aName.CultureInfo = new System.Globalization.CultureInfo("en-US"); aName.Version = new Version("1.0.0.2001"); AssemblyBuilder ab = AppDomain.CurrentDomain.DefineDynamicAssembly(aName, AssemblyBuilderAccess.Run); ModuleBuilder mb = ab.DefineDynamicModule("Temp"); TypeBuilder tb = mb.DefineType("Dummy", TypeAttributes.Public); Type t = tb.CreateType(); outputBlock.Text += String.Format("Assembly FullName: {0}\n", t.Assembly.FullName); } } /* This code example produces output similar to the following: Assembly FullName: MyDynamicAssembly, Version=1.0.0.2001, Culture=en-US, PublicKeyToken=null */
Note: