Idioma

AssemblyName Construtores

Definição

Inicializa uma nova instância da AssemblyName classe.

Sobrecargas

Name Descrição
AssemblyName()

Inicializa uma nova instância da AssemblyName classe.

AssemblyName(String)

Inicializa uma nova instância da AssemblyName classe com o nome de exibição especificado.

AssemblyName()

Origem:
AssemblyName.cs
Origem:
AssemblyName.cs
Origem:
AssemblyName.cs
Origem:
AssemblyName.cs
Origem:
AssemblyName.cs

Inicializa uma nova instância da AssemblyName classe.

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

Exemplos

O exemplo seguinte cria um assembly dinâmico nomeado MyAssembly.exe e guarda-o no seu disco rígido. Depois de executar o exemplo, pode usar o Ildasm.exe (IL Disassembler) para examinar os metadados de assembly.

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

Aplica-se a

AssemblyName(String)

Origem:
AssemblyName.cs
Origem:
AssemblyName.cs
Origem:
AssemblyName.cs
Origem:
AssemblyName.cs
Origem:
AssemblyName.cs

Inicializa uma nova instância da AssemblyName classe com o nome de exibição especificado.

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

Parâmetros

assemblyName
String

O nome de exibição da assembleia, conforme devolvido pela FullName propriedade.

Exceções

assemblyName é null.

assemblyName é uma corda de comprimento zero.

O conjunto referenciado não podia ser encontrado, ou não podia ser carregado.

Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, apanhe a exceção da classe base, IOException, em vez disso.

Exemplos

O exemplo seguinte cria uma instância de AssemblyName a partir de um nome de visualização. Os elementos individuais do nome de visualização são enviados para a consola como propriedades do AssemblyName objeto.

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

Observações

O fornecido assemblyName é analisado, e os campos apropriados do novo AssemblyName são inicializados com valores do nome de visualização. Esta é a forma recomendada de analisar nomes de visualização. Não é recomendado escrever o seu próprio código para analisar nomes de visualização.

Aplica-se a