AssemblyName Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir derlemenin benzersiz kimliğini tam olarak açıklar.
public ref class AssemblyName sealed
public ref class AssemblyName sealed : ICloneable, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public ref class AssemblyName sealed : ICloneable, System::Runtime::InteropServices::_AssemblyName, System::Runtime::Serialization::IDeserializationCallback, System::Runtime::Serialization::ISerializable
public sealed class AssemblyName
public sealed class AssemblyName : ICloneable, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public sealed class AssemblyName : ICloneable, System.Runtime.InteropServices._AssemblyName, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class AssemblyName : ICloneable, System.Runtime.InteropServices._AssemblyName, System.Runtime.Serialization.IDeserializationCallback, System.Runtime.Serialization.ISerializable
type AssemblyName = class
type AssemblyName = class
interface ICloneable
interface IDeserializationCallback
interface ISerializable
type AssemblyName = class
interface ICloneable
interface ISerializable
interface IDeserializationCallback
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type AssemblyName = class
interface _AssemblyName
interface ICloneable
interface ISerializable
interface IDeserializationCallback
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type AssemblyName = class
interface _AssemblyName
interface ICloneable
interface ISerializable
interface IDeserializationCallback
Public NotInheritable Class AssemblyName
Public NotInheritable Class AssemblyName
Implements ICloneable, IDeserializationCallback, ISerializable
Public NotInheritable Class AssemblyName
Implements _AssemblyName, ICloneable, IDeserializationCallback, ISerializable
- Devralma
-
AssemblyName
- Öznitelikler
- Uygulamalar
Örnekler
Bu örnekte, bir derlemede yer alan meta verileri analiz etmek için çeşitli yansıma sınıflarının nasıl kullanılacağı gösterilmektedir.
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()
'
Açıklamalar
AssemblyName nesnesi, bu derlemeye bağlamak için kullanabileceğiniz bir derleme hakkında bilgi içerir. Bir derlemenin kimliği aşağıdakilerden oluşur:
Basit ad.
Sürüm numarası.
Şifreleme anahtarı çifti.
Desteklenen kültür.
Basit ad genellikle uzantısı olmayan bildirim dosyasının dosya adıdır. Anahtar çifti, derlemeler için tanımlayıcı ad imzaları oluşturmak için kullanılan bir ortak ve özel anahtar içerir.
Ortak dil çalışma zamanını destekleyen tüm derleyiciler iç içe geçmiş bir sınıf yerine basit adı yayar ve yansıma, sorgulandığında aşağıdaki kurallara uygun şekilde kodlanmış bir ad oluşturur.
Sınırlayıcı | Anlamı |
---|---|
Ters Eğik Çizgi (\) | Kaçış karakteri. |
Virgül (,) | Derleme adından önce. |
Artı işareti (+) | İç içe geçmiş bir sınıftan önce gelir. |
Örneğin, bir sınıf için tam ad aşağıdaki gibi olabilir:
ContainingClass+NestedClass,MyAssembly
"++" "\+\+" olur ve "\" "\\" olur.
Bu nitelenmiş ad kalıcı hale gelebilir ve daha sonra yüklemek Typeiçin kullanılabilir. araması yapmak ve yüklemek Typeiçin yalnızca tür adıyla veya derlemenin tam tür adıyla kullanın GetType . GetType tür adıyla yalnızca çağıranın derlemesinde ve ardından Sistem derlemesinde öğesini arar Type . GetType derleme nitelikli tür adı ile herhangi bir derlemede öğesini Type arar.
Tam olarak belirtilen AssemblyName ad, kültür, ortak anahtar veya ortak anahtar belirteci, ana sürüm, ikincil sürüm, derleme numarası ve düzeltme numarası parametrelerine sahip olmalıdır. Son dördü türünde paketlenir Version .
Basit bir ad oluşturmak için parametresiz oluşturucuyu kullanarak bir AssemblyName nesne oluşturun ve değerini Nameayarlayın. Diğer özellikler isteğe bağlıdır.
Tam bir tanımlayıcı ad oluşturmak için parametresiz oluşturucuyu kullanarak bir AssemblyName nesne oluşturun ve ve KeyPairdeğerini Name ayarlayın. Diğer özellikler isteğe bağlıdır. Ortak anahtarı ve tanımlayıcı adı ayarlamak için ve SetPublicKeyToken kullanınSetPublicKey. Tanımlayıcı ad imzalama her zaman karma algoritmasını SHA1 kullanır.
Adların doğru şekilde yapılandırıldığından emin olmak için aşağıdaki özellikleri kullanın:
Gacutil.exe (Genel Bütünleştirilmiş Kod Önbelleği Aracı) ile seçeneğini kullanarak /l
da adı alabilirsiniz
Kısmen belirtilen bir tanımlayıcı ad için parametresiz oluşturucuyu kullanarak bir AssemblyName nesne oluşturun ve adı ve ortak anahtarı ayarlayın. Böyle bir kullanılarak oluşturulan bir AssemblyName derleme daha sonra Assembly Linker (Al.exe) kullanılarak imzalanabilir.
Ortak anahtar ve tutarsız değerlerle belirtmek KeyPair mümkündür. Bu, geliştirici senaryolarında yararlı olabilir. Bu durumda, ile GetPublicKey alınan ortak anahtar doğru ortak anahtarı belirtirken KeyPair , geliştirme sırasında kullanılan ortak ve özel anahtarları belirtir. Çalışma zamanı ile ortak anahtar arasında KeyPair bir uyuşmazlık algıladığında, kayıt defterinde ortak anahtarla eşleşen doğru anahtarı arar.
Bir öğesinin görünen adı AssemblyName biçimi, adla başlayan virgülle ayrılmış bir Unicode dizesidir:
Name <,Culture = CultureInfo> <,Version = Major.Minor.Build.Revision> <, StrongName> <,PublicKeyToken> '\0'
Name
derlemenin metin adıdır. CultureInfo
RFC1766 biçim tanımlı kültürdür. Major
, Minor
, Build
ve Revision
, derlemenin ana sürümü, ikincil sürümü, derleme numarası ve düzeltme numarasıdır. StrongName
, SHA-1 karma algoritması ve tarafından SetPublicKeybelirtilen ortak anahtar kullanılarak oluşturulan ortak anahtarın karma değerinin onaltılık kodlanmış düşük sıralı 64 bitidir. PublicKeyToken
, tarafından SetPublicKeybelirtilen onaltılık kodlanmış ortak anahtardır.
Onaltılık kodlama, bir ikili nesnenin her baytının iki onaltılık karaktere dönüştürülmesi olarak tanımlanır ve en azdan en önemli bayta ilerler. Gerekli görüldüğünde ek görüntü değerleri eklenir.
Tam ortak anahtar biliniyorsa, PublicKey yerine StrongName kullanılabilir.
Ayrıca, önce gelmesi gereken dışında, parametrelerin sözcük temelli sırasının önemli olmadığını unutmayın Name
. Ancak, özellikle ayarlı olmayan tüm parametreler (Version
, StrongName
Culture
veya PublicKey
) atlanmış olarak kabul edilir ve AssemblyName daha sonra kısmi olarak kabul edilir. Kısmi bilgiler belirtilirken, Ad parametreleri yukarıda açıklanan sırayla belirtilmelidir.
Görünen ad sağlanırken, kural StrongName =null
veya PublicKey= null
basitçe adlandırılmış bir derlemeyle bağlamanın ve eşleştirmenin gerekli olduğunu gösterir. Buna ek olarak, kural Culture= ""
(boş bir dizeyi temsil eden çift tırnak) varsayılan kültürle eşleştirmeyi gösterir.
Aşağıdaki örnekte, varsayılan kültüre sahip basit adlandırılmış bir derleme için bir AssemblyName gösterilmektedir.
ExampleAssembly, Culture=""
Aşağıdaki örnek, "en" kültürüne sahip tam olarak adlandırılmış bir derleme için tam olarak belirtilen bir başvuruyu gösterir.
ExampleAssembly, Version=1.0.0.0, Culture=en, PublicKeyToken=a5d015c7d5a0b012
Oluşturucular
AssemblyName() |
AssemblyName sınıfının yeni bir örneğini başlatır. |
AssemblyName(String) |
Belirtilen görünen adla sınıfının yeni bir örneğini AssemblyName başlatır. |
Özellikler
CodeBase |
Geçersiz.
Derlemenin konumunu URL olarak alır veya ayarlar. |
ContentType |
Derlemenin ne tür içerik içerdiğini gösteren bir değer alır veya ayarlar. |
CultureInfo |
Derleme tarafından desteklenen kültürü alır veya ayarlar. |
CultureName |
Derlemeyle ilişkili kültürün adını alır veya ayarlar. |
EscapedCodeBase |
Geçersiz.
Kod tabanını temsil eden kaçış karakterleri de dahil olmak üzere URI'yi alır. |
Flags |
Derlemenin özniteliklerini alır veya ayarlar. |
FullName |
Görünen ad olarak da bilinen derlemenin tam adını alır. |
HashAlgorithm |
Geçersiz.
Derleme bildirimi tarafından kullanılan karma algoritmayı alır veya ayarlar. |
KeyPair |
Geçersiz.
Derleme için tanımlayıcı ad imzası oluşturmak için kullanılan ortak ve özel şifreleme anahtar çiftini alır veya ayarlar. |
Name |
Derlemenin basit adını alır veya ayarlar. Bu genellikle, ancak mutlaka değil, derlemenin bildirim dosyasının dosya adıdır ve uzantısı çıkarılır. |
ProcessorArchitecture |
Geçersiz.
Bir yürütülebilir dosya tarafından hedeflenen platformun işlemcisini ve sözcük başına bit sayısını tanımlayan bir değer alır veya ayarlar. |
Version |
Derlemenin ana, ikincil, derleme ve düzeltme numaralarını alır veya ayarlar. |
VersionCompatibility |
Geçersiz.
Derlemenin diğer derlemelerle uyumluluğuyla ilgili bilgileri alır veya ayarlar. |
Yöntemler
Clone() |
Bu AssemblyName nesnenin bir kopyasını oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetAssemblyName(String) |
Belirli bir dosyanın öğesini AssemblyName alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Geçersiz.
Bunun |
GetPublicKey() |
Derlemenin ortak anahtarını alır. |
GetPublicKeyToken() |
Uygulamanın veya derlemenin imzalandığı ortak anahtarın SHA-1 karması için son 8 bayt olan ortak anahtar belirtecini alır. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
OnDeserialization(Object) |
arabirimini ISerializable uygular ve seri durumdan çıkarma işlemi tamamlandığında seri durumdan çıkarma olayı tarafından geri çağrılır. |
ReferenceMatchesDefinition(AssemblyName, AssemblyName) |
İki derleme adının aynı olup olmadığını belirten bir değer döndürür. Karşılaştırma, basit derleme adlarını temel alır. |
SetPublicKey(Byte[]) |
Derlemeyi tanımlayan ortak anahtarı ayarlar. |
SetPublicKeyToken(Byte[]) |
Uygulamanın veya derlemenin imzalandığı ortak anahtarın SHA-1 karması için son 8 bayt olan ortak anahtar belirtecini ayarlar. |
ToString() |
Derlemenin görünen adı olarak da bilinen tam adını döndürür. |
Belirtik Arabirim Kullanımları
_AssemblyName.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler. |
_AssemblyName.GetTypeInfo(UInt32, UInt32, IntPtr) |
Bir nesne için tür bilgilerini alır ve bu da bir arabirimin tür bilgisini almak için kullanılabilir. |
_AssemblyName.GetTypeInfoCount(UInt32) |
Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1). |
_AssemblyName.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar. |