AssemblyName AssemblyName AssemblyName AssemblyName Class

Определение

Подробно описывает уникальный идентификатор сборки.Describes an assembly's unique identity in full.

public ref class AssemblyName sealed : ICloneable, System::Runtime::InteropServices::_AssemblyName, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class AssemblyName : ICloneable, System.Runtime.InteropServices._AssemblyName, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type AssemblyName = class
    interface ICloneable
    interface ISerializable
    interface IDeserializationCallback
    interface _AssemblyName
Public NotInheritable Class AssemblyName
Implements _AssemblyName, ICloneable, IDeserializationCallback, ISerializable
Наследование
AssemblyNameAssemblyNameAssemblyNameAssemblyName
Атрибуты
Реализации

Примеры

В этом примере показано, как использовать различные классы отражения для анализа метаданных, содержащихся в сборке.This example shows how to use various reflection classes to analyze the metadata contained in an assembly.

using namespace System;
using namespace System::Reflection;

static void Display(Int32 indent, String^ format, ... array<Object^>^param) 
{
    Console::Write("{0}", gcnew String (' ', indent));
    Console::WriteLine(format, param);
}
	
// Displays the custom attributes applied to the specified member.
static void DisplayAttributes(Int32 indent, MemberInfo^ mi)
{
    // Get the set of custom attributes; if none exist, just return.
    array<Object^>^attrs = mi->GetCustomAttributes(false);
		
    if (attrs->Length==0)
    {
        return;          
    }
		
    // Display the custom attributes applied to this member.
    Display(indent+1, "Attributes:");
    for each ( Object^ o in attrs )
    {
        Display(indent*2, "{0}", o);
    }				
}

void main()
{
    try
    {
        // This variable holds the amount of indenting that 
        // should be used when displaying each line of information.
        Int32 indent = 0; 
        // Display information about the EXE assembly.
        Assembly^ a = System::Reflection::Assembly::GetExecutingAssembly();
		
        Display(indent, "Assembly identity={0}", gcnew array<Object^> {a->FullName});
        Display(indent+1, "Codebase={0}", gcnew array<Object^> {a->CodeBase});

        // Display the set of assemblies our assemblies reference.
  
        Display(indent, "Referenced assemblies:"); 

        for each ( AssemblyName^ an in a->GetReferencedAssemblies() )
        {
            Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", gcnew array<Object^> {an->Name, an->Version, an->CultureInfo, (BitConverter::ToString(an->GetPublicKeyToken()))});
        }
        Display(indent, "");  
        // Display information about each assembly loading into this AppDomain. 
        for each ( Assembly^ b in AppDomain::CurrentDomain->GetAssemblies()) 
        {
            Display(indent, "Assembly: {0}", gcnew array<Object^> {b});
            // Display information about each module of this assembly.
 
            for each ( Module^ m in b->GetModules(true) ) 
            {
                Display(indent+1, "Module: {0}", gcnew array<Object^> {m->Name});
            }
            // Display information about each type exported from this assembly.
           
            indent += 1; 
            for each ( Type^ t in b->GetExportedTypes() ) 
            {
                Display(0, "");  
                Display(indent, "Type: {0}", gcnew array<Object^> {t}); 

                // For each type, show its members & their custom attributes.
           
                indent += 1; 
                for each (MemberInfo^ mi in t->GetMembers() )
                {
                    Display(indent, "Member: {0}", gcnew array<Object^> {mi->Name}); 
                    DisplayAttributes(indent, mi);

                    // If the member is a method, display information about its parameters.         
                    if (mi->MemberType==MemberTypes::Method) 
                    {
					
                        for each ( ParameterInfo^ pi in (((MethodInfo^) mi)->GetParameters()))
                        {
                            Display(indent+1, "Parameter: Type={0}, Name={1}", gcnew array<Object^> {pi->ParameterType, pi->Name}); 
                        }
                    }

                    // If the member is a property, display information about the property's accessor methods.
                    if (mi->MemberType==MemberTypes::Property) 
                    {
                        for each ( MethodInfo^ am in (((PropertyInfo^) mi)->GetAccessors()) )
                        {
                            Display(indent+1, "Accessor method: {0}", gcnew array<Object^> {am});
                        }
                    }
                }
                // Display a formatted string indented by the specified amount.               
                indent -= 1;
            }
            indent -= 1;
        }
    }
    catch (Exception^ e)
    {
        Console::WriteLine(e->Message);
    }
}

// The output shown below is abbreviated.
//
//Assembly identity=Reflection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
//  Codebase=file:///C:/Reflection.exe
//Referenced assemblies:
//  Name=mscorlib, Version=1.0.5000.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
//  Name=Microsoft.VisualBasic, Version=7.0.5000.0, Culture=, PublicKey token=B0-3F-5F-7F-11-D5-0A-3A
//
//Assembly: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//  Module: mscorlib.dll
//  Module: prc.nlp
//  Module: prcp.nlp
//  Module: ksc.nlp
//  Module: ctype.nlp
//  Module: xjis.nlp
//  Module: bopomofo.nlp
//  Module: culture.nlp
//  Module: region.nlp
//  Module: sortkey.nlp
//  Module: charinfo.nlp
//  Module: big5.nlp
//  Module: sorttbls.nlp
//  Module: l_intl.nlp
//  Module: l_except.nlp
//
//  Type: System.Object
//    Member: GetHashCode
//    Member: Equals
//      Parameter: Type=System.Object, Name=obj
//    Member: ToString
//    Member: Equals
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: ReferenceEquals
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: GetType
//    Member: .ctor
//
//  Type: System.ICloneable
//    Member: Clone
//
//  Type: System.Collections.IEnumerable
//    Member: GetEnumerator
//      Attributes:
//        System.Runtime.InteropServices.DispIdAttribute
//
//  Type: System.Collections.ICollection
//    Member: get_IsSynchronized
//    Member: get_SyncRoot
//    Member: get_Count
//    Member: CopyTo
//      Parameter: Type=System.Array, Name=array
//      Parameter: Type=System.Int32, Name=index
//    Member: Count
//      Accessor method: Int32 get_Count()
//    Member: SyncRoot
//      Accessor method: System.Object get_SyncRoot()
//    Member: IsSynchronized
//      Accessor method: Boolean get_IsSynchronized()
//
using System;
using System.Reflection;

class Module1
{
    public static void Main()
    {
        // This variable holds the amount of indenting that 
        // should be used when displaying each line of information.
        Int32 indent = 0;
        // Display information about the EXE assembly.
        Assembly a = typeof(Module1).Assembly;
        Display(indent, "Assembly identity={0}", a.FullName);
        Display(indent+1, "Codebase={0}", a.CodeBase);

        // Display the set of assemblies our assemblies reference.
      
        Display(indent, "Referenced assemblies:");
        foreach (AssemblyName an in a.GetReferencedAssemblies() )
        {
             Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", an.Name, an.Version, an.CultureInfo.Name, (BitConverter.ToString (an.GetPublicKeyToken())));
        }
        Display(indent, "");
        
        // Display information about each assembly loading into this AppDomain.
        foreach (Assembly b in AppDomain.CurrentDomain.GetAssemblies())
        {
            Display(indent, "Assembly: {0}", b);

            // Display information about each module of this assembly.
            foreach ( Module m in b.GetModules(true) )
            {
                Display(indent+1, "Module: {0}", m.Name);
            }

            // Display information about each type exported from this assembly.
           
            indent += 1;
            foreach ( Type t in b.GetExportedTypes() )
            {
                Display(0, "");
                Display(indent, "Type: {0}", t);

                // For each type, show its members & their custom attributes.
           
                indent += 1;
                foreach (MemberInfo mi in t.GetMembers() )
                {
                    Display(indent, "Member: {0}", mi.Name);
                    DisplayAttributes(indent, mi);

                    // If the member is a method, display information about its parameters.
                    
                    if (mi.MemberType==MemberTypes.Method)
                    {
                        foreach ( ParameterInfo pi in ((MethodInfo) mi).GetParameters() )
                        {
                            Display(indent+1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name);
                        }
                    }

                    // If the member is a property, display information about the property's accessor methods.
                    if (mi.MemberType==MemberTypes.Property)
                    {
                        foreach ( MethodInfo am in ((PropertyInfo) mi).GetAccessors() )
                        {
                            Display(indent+1, "Accessor method: {0}", am);
                        }
                    }
                }
                indent -= 1;
            }
            indent -= 1;
        }
    }

    // Displays the custom attributes applied to the specified member.
    public static void DisplayAttributes(Int32 indent, MemberInfo mi)
    {
        // Get the set of custom attributes; if none exist, just return.
        object[] attrs = mi.GetCustomAttributes(false);
        if (attrs.Length==0) {return;}

        // Display the custom attributes applied to this member.
        Display(indent+1, "Attributes:");
        foreach ( object o in attrs )
        {
            Display(indent+2, "{0}", o.ToString());
        }
    }

    // Display a formatted string indented by the specified amount.
    public static void Display(Int32 indent, string format, params object[] param) 

    {
        Console.Write(new string(' ', indent*2));
        Console.WriteLine(format, param);
    }
}

//The output shown below is abbreviated.
//
//Assembly identity=ReflectionCS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
//  Codebase=file:///C:/Documents and Settings/test/My Documents/Visual Studio 2005/Projects/Reflection/Reflection/obj/Debug/Reflection.exe
//Referenced assemblies:
//  Name=mscorlib, Version=2.0.0.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
//
//Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//
//  Type: System.Object
//    Member: GetType
//    Member: ToString
//    Member: Equals
//      Parameter: Type=System.Object, Name=obj
//    Member: Equals
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: ReferenceEquals
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: GetHashCode
//    Member: .ctor
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//
//  Type: System.ICloneable
//    Member: Clone
//
//  Type: System.Collections.IEnumerable
//    Member: GetEnumerator
//      Attributes:
//        System.Runtime.InteropServices.DispIdAttribute
//
//  Type: System.Collections.ICollection
//    Member: CopyTo
//      Parameter: Type=System.Array, Name=array
//      Parameter: Type=System.Int32, Name=index
//    Member: get_Count
//    Member: get_SyncRoot
//    Member: get_IsSynchronized
//    Member: Count
//      Accessor method: Int32 get_Count()
//    Member: SyncRoot
//      Accessor method: System.Object get_SyncRoot()
//    Member: IsSynchronized
//      Accessor method: Boolean get_IsSynchronized()
//
//  Type: System.Collections.IList
//    Member: get_Item
//      Parameter: Type=System.Int32, Name=index
//    Member: set_Item
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Add
//      Parameter: Type=System.Object, Name=value
//    Member: Contains
//      Parameter: Type=System.Object, Name=value
//    Member: Clear
//    Member: get_IsReadOnly
//    Member: get_IsFixedSize
//    Member: IndexOf
//      Parameter: Type=System.Object, Name=value
//    Member: Insert
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Remove
//      Parameter: Type=System.Object, Name=value
//    Member: RemoveAt
//      Parameter: Type=System.Int32, Name=index
//    Member: Item
//      Accessor method: System.Object get_Item(Int32)
//      Accessor method: Void set_Item(Int32, System.Object)
//    Member: IsReadOnly
//      Accessor method: Boolean get_IsReadOnly()
//    Member: IsFixedSize
//      Accessor method: Boolean get_IsFixedSize()
//
//  Type: System.Array
//    Member: IndexOf
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: AsReadOnly
//      Parameter: Type=T[], Name=array
//    Member: Resize
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[]&, Name=array
//      Parameter: Type=System.Int32, Name=newSize
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//      Parameter: Type=System.Collections.Generic.IComparer`1[T], Name=comparer
Imports System.Reflection

Module Module1
    Sub Main()
        ' This variable holds the amount of indenting that 
        ' should be used when displaying each line of information.
        Dim indent As Int32 = 0
        ' Display information about the EXE assembly.
        Dim a As Assembly = GetType(Module1).Assembly
        Display(indent, "Assembly identity={0}", a.FullName)
        Display(indent + 1, "Codebase={0}", a.CodeBase)

        ' Display the set of assemblies our assemblies reference.
        Dim an As AssemblyName
        Display(indent, "Referenced assemblies:")
        For Each an In a.GetReferencedAssemblies()
            Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", _
                an.Name, an.Version, an.CultureInfo.Name, BitConverter.ToString(an.GetPublicKeyToken))
        Next
        Display(indent, "")

        ' Display information about each assembly loading into this AppDomain.
        For Each a In AppDomain.CurrentDomain.GetAssemblies()
            Display(indent, "Assembly: {0}", a)

            ' Display information about each module of this assembly.
            Dim m As [Module]
            For Each m In a.GetModules(True)
                Display(indent + 1, "Module: {0}", m.Name)
            Next

            ' Display information about each type exported from this assembly.
            Dim t As Type
            indent += 1
            For Each t In a.GetExportedTypes()
                Display(0, "")
                Display(indent, "Type: {0}", t)

                ' For each type, show its members & their custom attributes.
                Dim mi As MemberInfo
                indent += 1
                For Each mi In t.GetMembers()
                    Display(indent, "Member: {0}", mi.Name)
                    DisplayAttributes(indent, mi)

                    ' If the member is a method, display information about its parameters.
                    Dim pi As ParameterInfo
                    If mi.MemberType = MemberTypes.Method Then
                        For Each pi In CType(mi, MethodInfo).GetParameters()
                            Display(indent + 1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name)
                        Next
                    End If

                    ' If the member is a property, display information about the property's accessor methods.
                    If mi.MemberType = MemberTypes.Property Then
                        Dim am As MethodInfo
                        For Each am In CType(mi, PropertyInfo).GetAccessors()
                            Display(indent + 1, "Accessor method: {0}", am)
                        Next
                    End If
                Next
                indent -= 1
            Next
            indent -= 1
        Next
    End Sub

    ' Displays the custom attributes applied to the specified member.
    Sub DisplayAttributes(ByVal indent As Int32, ByVal mi As MemberInfo)
        ' Get the set of custom attributes; if none exist, just return.
        Dim attrs() As Object = mi.GetCustomAttributes(False)
        If attrs.Length = 0 Then Return

        ' Display the custom attributes applied to this member.
        Display(indent + 1, "Attributes:")
        Dim o As Object
        For Each o In attrs
            Display(indent + 2, "{0}", o.ToString())
        Next
    End Sub

    ' Display a formatted string indented by the specified amount.
    Sub Display(ByVal indent As Int32, ByVal format As String, ByVal ParamArray params() As Object)
        Console.Write(New String(" "c, indent * 2))
        Console.WriteLine(format, params)
    End Sub
End Module

'The output shown below is abbreviated.
'
'Assembly identity=Reflection, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
'  Codebase=file:///C:/Reflection.exe
'Referenced assemblies:
'  Name=mscorlib, Version=1.0.5000.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
'  Name=Microsoft.VisualBasic, Version=7.0.5000.0, Culture=, PublicKey token=B0-3F-5F-7F-11-D5-0A-3A
'
'Assembly: mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
'  Module: mscorlib.dll
'  Module: prc.nlp
'  Module: prcp.nlp
'  Module: ksc.nlp
'  Module: ctype.nlp
'  Module: xjis.nlp
'  Module: bopomofo.nlp
'  Module: culture.nlp
'  Module: region.nlp
'  Module: sortkey.nlp
'  Module: charinfo.nlp
'  Module: big5.nlp
'  Module: sorttbls.nlp
'  Module: l_intl.nlp
'  Module: l_except.nlp
'
'  Type: System.Object
'    Member: GetHashCode
'    Member: Equals
'      Parameter: Type=System.Object, Name=obj
'    Member: ToString
'    Member: Equals
'      Parameter: Type=System.Object, Name=objA
'      Parameter: Type=System.Object, Name=objB
'    Member: ReferenceEquals
'      Parameter: Type=System.Object, Name=objA
'      Parameter: Type=System.Object, Name=objB
'    Member: GetType
'    Member: .ctor
'
'  Type: System.ICloneable
'    Member: Clone
'
'  Type: System.Collections.IEnumerable
'    Member: GetEnumerator
'      Attributes:
'        System.Runtime.InteropServices.DispIdAttribute
'
'  Type: System.Collections.ICollection
'    Member: get_IsSynchronized
'    Member: get_SyncRoot
'    Member: get_Count
'    Member: CopyTo
'      Parameter: Type=System.Array, Name=array
'      Parameter: Type=System.Int32, Name=index
'    Member: Count
'      Accessor method: Int32 get_Count()
'    Member: SyncRoot
'      Accessor method: System.Object get_SyncRoot()
'    Member: IsSynchronized
'      Accessor method: Boolean get_IsSynchronized()
'

Комментарии

AssemblyName Объект содержит сведения о сборке, который можно использовать для привязки на эту сборку.The AssemblyName object contains information about an assembly, which you can use to bind to that assembly. Удостоверение сборки состоит из следующих элементов:An assembly's identity consists of the following:

  • Простое имя.Simple name.

  • Номер версии.Version number.

  • Пары криптографических ключей.Cryptographic key pair.

  • Поддерживаемые язык и региональные параметры.Supported culture.

Простое имя обычно является имя файла для файла манифеста без расширения.The simple name is typically the file name for the manifest file without its extension. Эта пара ключей содержит открытый и закрытый ключ, используемый для создания подписи строгого имени для сборки.The key pair includes a public and private key, used to create strong-name signatures for assemblies.

Все компиляторы, которые поддерживают среда CLR будет выдавать простое имя вложенного класса, а отражение создает искаженное имя при запросе, в соответствии со следующими соглашениями.All compilers that support the common language runtime will emit the simple name of a nested class, and reflection constructs a mangled name when queried, in accordance with the following conventions.

разделительDelimiter ЗначениеMeaning
Обратная косая черта (\)Backslash (\) Escape-символ.Escape character.
Запятая ()Comma (,) Предшествует имени сборки.Precedes the assembly name.
Знак плюс (+)Plus sign (+) Перед вложенным классом.Precedes a nested class.

Например полное имя класса может выглядеть следующим образом:For example, the fully qualified name for a class might look like this:

ContainingClass + NestedClass MyAssemblyContainingClass+NestedClass,MyAssembly

Объект «++» становится "\+\+» и"\«становится»\\«.A "++" becomes "\+\+", and a "\" becomes "\\".

Это полное имя можно сохраняются и впоследствии использовать для загрузки Type.This qualified name can be persisted and later used to load the Type. Чтобы найти и загрузить Type, использовать GetType либо с типом имя, либо только имя типа с указанием сборки.To search for and load a Type, use GetType either with the type name only or with the assembly qualified type name. GetType с типом имя только будет искать Type в сборке вызывающего, а затем в системную сборку.GetType with the type name only will look for the Type in the caller's assembly and then in the System assembly. GetType в сборке будет искать имя типа с указанием Type в любой сборке.GetType with the assembly qualified type name will look for the Type in any assembly.

Полностью заданный AssemblyName должен иметь имя, язык и региональные параметры, открытый ключ или токен открытого ключа, основной версии, дополнительный номер версии, номер построения и номер редакции.A fully specified AssemblyName must have the name, culture, public key or public key token, major version, minor version, build number, and revision number parameters. Последние четыре упаковываются в Version типа.The last four are packaged in the Version type.

Чтобы создать простое имя, создайте AssemblyName с помощью конструктора по умолчанию и задайте Name.To create a simple name, create an AssemblyName object using the default constructor and set the Name. Другие свойства являются необязательными.The other properties are optional.

Чтобы создать полное строгое имя, создайте AssemblyName с помощью конструктора по умолчанию и задайте Name и KeyPair.To create a full strong name, create an AssemblyName object using the default constructor and set the Name and KeyPair. Другие свойства являются необязательными.The other properties are optional. Используйте SetPublicKey и SetPublicKeyToken задать открытый ключ и строгое имя.Use SetPublicKey and SetPublicKeyToken to set the public key and the strong name. Подписи всегда использует строгого имени SHA1 хэш-алгоритма.The strong name signing always uses the SHA1 hash algorithm.

Чтобы убедиться, что имена создаются правильно, используйте следующие свойства:To ensure that the names are constructed correctly, use the following properties:

Имя можно также получить с помощью /l с параметром Gacutil.exe (программа глобального кэша сборок)You can also get the name by using the /l option with the Gacutil.exe (Global Assembly Cache Tool)

Для частично заданного строгого имени создайте AssemblyName с помощью конструктора по умолчанию и задайте имя и открытый ключ.For a partially specified strong name, create an AssemblyName object using the default constructor and set the name and public key. Сборка, созданная с помощью подобного AssemblyName может быть подписана позднее с помощью компоновщика сборок (Al.exe).An assembly created using such an AssemblyName can be signed later using the Assembly Linker (Al.exe).

Можно указать открытый ключ и KeyPair неправильные значения.It is possible to specify a public key and a KeyPair with inconsistent values. Это может быть полезным для разработчика.This can be useful in developer scenarios. В этом случае открытый ключ, возвращаемый GetPublicKey указывает правильный открытый ключ, а KeyPair определяет открытый и закрытый ключи, используемые во время разработки.In this case, the public key retrieved with GetPublicKey specifies the correct public key, while the KeyPair specifies the public and private keys used during development. Когда среда выполнения обнаруживает несоответствие между KeyPair и открытый ключ, он ищет в реестре правильный ключ, соответствующий открытому ключу.When the runtime detects a mismatch between the KeyPair and the public key, it looks up in the registry the correct key that matches the public key.

Формат отображаемое имя AssemblyName является строкой Юникода с разделителями запятыми, который начинается с имени, как показано ниже:The format of the display name of an AssemblyName is a comma-delimited Unicode string that begins with the name, as follows:

Name <,Culture = CultureInfo> <,Version = Major.Minor.Build.Revision> <, StrongName> <,PublicKeyToken> '\0'

Name является текстовое имя сборки.Name is the textual name of the assembly. CultureInfo — это язык и региональные параметры определенные в формате RFC1766.CultureInfo is the RFC1766-format-defined culture. Major, Minor, Build, и Revision являются основной номер версии, дополнительный номер версии, номер построения и номер редакции сборки.Major, Minor, Build, and Revision are the major version, minor version, build number, and revision number of the assembly. StrongName является шестнадцатеричной младшие 64 разряда хэш-значение открытого ключа, созданного с использованием алгоритма хэширования SHA-1 и открытый ключ, определенный SetPublicKey.StrongName is the hexadecimal-encoded low-order 64 bits of the hash value of the public key generated using the SHA-1 hashing algorithm and the public key specified by SetPublicKey. PublicKeyToken является шестнадцатеричной открытому ключу, заданному по SetPublicKey.PublicKeyToken is the hexadecimal-encoded public key specified by SetPublicKey.

Принадлежность к шестнадцатеричной кодировке определяется как преобразование каждого байта двоичного объекта в два шестнадцатеричных символов, с младшего старшинства.Hexadecimal encoding is defined as the conversion of each byte of a binary object to two hexadecimal characters, progressing from least to most significant byte. Дополнительные отображаемые значения будет добавляться по мере необходимости.Additional display values will be added as deemed necessary.

Если известно, полного открытого ключа, затем открытый ключ может заменить StrongName.If the full public key is known, then PublicKey may be substituted for StrongName.

Кроме того, за исключением Name, которая должна быть сначала, лексический порядок параметров не имеет значения.Also note that except for Name, which must come first, the lexical order of parameters is unimportant. Тем не менее любой параметр (Version, Culture, StrongName или PublicKey) не только набор считается опускать и AssemblyName считается частичной.However, any parameter (Version, Culture, StrongName or PublicKey) not specifically set is considered to be omitted, and the AssemblyName is then considered partial. При указании частичные сведения, параметры имени необходимо указать в описанном выше порядке.When specifying partial information, Name parameters must be specified in the order described above.

При задании отображаемого имени, то соглашение об StrongName =null или PublicKey= null указывает, что требуется привязка и сопоставление сборки с простым именем.When supplying a display name, the convention StrongName =null or PublicKey= null indicates that binding and matching against a simply named assembly is required. Кроме того, соглашение Culture= "" (двойная кавычка, представляющий пустую строку) указывает, сравнение с культурой по умолчанию.Additionally, the convention Culture= "" (double quote representing an empty string) indicates matching against the default culture.

В следующем примере показан AssemblyName для сборки с простым именем по умолчанию язык и региональные параметры.The following example shows an AssemblyName for a simply named assembly with default culture.

ExampleAssembly, Culture=""  

В приведенном ниже примере показана полностью определенная ссылка на сборку со строгим именем, для которой установлены язык и региональные параметры —"en".The following example shows a fully specified reference for a strongly named assembly with culture "en".

ExampleAssembly, Version=1.0.0.0, Culture=en, PublicKeyToken=a5d015c7d5a0b012  

Конструкторы

AssemblyName() AssemblyName() AssemblyName() AssemblyName()

Инициализирует новый экземпляр класса AssemblyName.Initializes a new instance of the AssemblyName class.

AssemblyName(String) AssemblyName(String) AssemblyName(String) AssemblyName(String)

Инициализирует новый экземпляр класса AssemblyName с заданным отображаемым именем.Initializes a new instance of the AssemblyName class with the specified display name.

Свойства

CodeBase CodeBase CodeBase CodeBase

Возвращает или задает местонахождение сборки в виде URL-адреса.Gets or sets the location of the assembly as a URL.

ContentType ContentType ContentType ContentType

Получает или задает значение, указывающее, какой тип содержимого содержит сборка.Gets or sets a value that indicates what type of content the assembly contains.

CultureInfo CultureInfo CultureInfo CultureInfo

Возвращает или задает язык и региональные параметры, поддерживаемые сборкой.Gets or sets the culture supported by the assembly.

CultureName CultureName CultureName CultureName

Получает или задает имя языка и региональных параметров, связанных со сборкой.Gets or sets the name of the culture associated with the assembly.

EscapedCodeBase EscapedCodeBase EscapedCodeBase EscapedCodeBase

Получает универсальный код доступа (URI), предоставляющий базовый код, включая escape-символы.Gets the URI, including escape characters, that represents the codebase.

Flags Flags Flags Flags

Возвращает или задает атрибуты сборки.Gets or sets the attributes of the assembly.

FullName FullName FullName FullName

Возвращает полное имя сборки, также называемое отображаемым именем.Gets the full name of the assembly, also known as the display name.

HashAlgorithm HashAlgorithm HashAlgorithm HashAlgorithm

Возвращает или задает алгоритм хэширования, используемый манифестом сборки.Gets or sets the hash algorithm used by the assembly manifest.

KeyPair KeyPair KeyPair KeyPair

Возвращает или задает пару открытого и закрытого ключей шифрования, которая используется для создания подписи со строгим именем для сборки.Gets or sets the public and private cryptographic key pair that is used to create a strong name signature for the assembly.

Name Name Name Name

Получает или задает простое имя сборки.Gets or sets the simple name of the assembly. Это, как правило (но не обязательно), имя файла манифеста сборки без указания его расширения.This is usually, but not necessarily, the file name of the manifest file of the assembly, minus its extension.

ProcessorArchitecture ProcessorArchitecture ProcessorArchitecture ProcessorArchitecture

Возвращает или задает значение, указывающее процессор и разрядность слова для платформы, являющейся целевой для исполняемого файла.Gets or sets a value that identifies the processor and bits-per-word of the platform targeted by an executable.

Version Version Version Version

Возвращает или задает для сборки основной номер версии, промежуточный номер версии, номер построения и номер редакции.Gets or sets the major, minor, build, and revision numbers of the assembly.

VersionCompatibility VersionCompatibility VersionCompatibility VersionCompatibility

Возвращает или задает сведения, связанные с совместимостью сборки с другими сборками.Gets or sets the information related to the assembly's compatibility with other assemblies.

Методы

Clone() Clone() Clone() Clone()

Создает копию этого объекта AssemblyName.Makes a copy of this AssemblyName object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAssemblyName(String) GetAssemblyName(String) GetAssemblyName(String) GetAssemblyName(String)

Возвращает AssemblyName для заданного файла.Gets the AssemblyName for a given file.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

Получает сведения сериализации со всеми данными, необходимыми для повторного создания экземпляра этого AssemblyName.Gets serialization information with all the data needed to recreate an instance of this AssemblyName.

GetPublicKey() GetPublicKey() GetPublicKey() GetPublicKey()

Возвращает открытый ключ сборки.Gets the public key of the assembly.

GetPublicKeyToken() GetPublicKeyToken() GetPublicKeyToken() GetPublicKeyToken()

Возвращает токен открытого ключа, представляющий собой последние 8 байт хэш-значения SHA-1 открытого ключа, которым подписаны приложение или сборка.Gets the public key token, which is the last 8 bytes of the SHA-1 hash of the public key under which the application or assembly is signed.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
OnDeserialization(Object) OnDeserialization(Object) OnDeserialization(Object) OnDeserialization(Object)

Реализует интерфейс ISerializable и вызывается событием десериализации после завершения десериализации в ходе обратного вызова.Implements the ISerializable interface and is called back by the deserialization event when deserialization is complete.

ReferenceMatchesDefinition(AssemblyName, AssemblyName) ReferenceMatchesDefinition(AssemblyName, AssemblyName) ReferenceMatchesDefinition(AssemblyName, AssemblyName) ReferenceMatchesDefinition(AssemblyName, AssemblyName)

Возвращает значение, указывающее, идентичны ли имена двух сборок.Returns a value indicating whether two assembly names are the same. Сравнение — на основе простых имен сборки.The comparison is based on the simple assembly names.

SetPublicKey(Byte[]) SetPublicKey(Byte[]) SetPublicKey(Byte[]) SetPublicKey(Byte[])

Задает открытый ключ, идентифицирующий сборку.Sets the public key identifying the assembly.

SetPublicKeyToken(Byte[]) SetPublicKeyToken(Byte[]) SetPublicKeyToken(Byte[]) SetPublicKeyToken(Byte[])

Задает токен открытого ключа, представляющий собой последние 8 байт хэш-значения SHA-1 открытого ключа, которым подписаны приложение или сборка.Sets the public key token, which is the last 8 bytes of the SHA-1 hash of the public key under which the application or assembly is signed.

ToString() ToString() ToString() ToString()

Возвращает полное имя сборки, также называемое отображаемым именем.Returns the full name of the assembly, also known as the display name.

Явные реализации интерфейса

_AssemblyName.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _AssemblyName.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _AssemblyName.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _AssemblyName.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

_AssemblyName.GetTypeInfo(UInt32, UInt32, IntPtr) _AssemblyName.GetTypeInfo(UInt32, UInt32, IntPtr) _AssemblyName.GetTypeInfo(UInt32, UInt32, IntPtr) _AssemblyName.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые затем могут использоваться для получения сведений о типе интерфейса.Retrieves the type information for an object, which can then be used to get the type information for an interface.

_AssemblyName.GetTypeInfoCount(UInt32) _AssemblyName.GetTypeInfoCount(UInt32) _AssemblyName.GetTypeInfoCount(UInt32) _AssemblyName.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

_AssemblyName.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _AssemblyName.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _AssemblyName.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _AssemblyName.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

Применяется к

Дополнительно