AssemblyNameとは? わかりやすく解説

AssemblyName クラス

アセンブリ一意ID を完全に記述します

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ClassInterfaceAttribute(ClassInterfaceType.None)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 AssemblyName
    Implements _AssemblyName, ICloneable, ISerializable, IDeserializationCallback
[SerializableAttribute] 
[ClassInterfaceAttribute(ClassInterfaceType.None)] 
[ComVisibleAttribute(true)] 
public sealed class AssemblyName : _AssemblyName,
 ICloneable, ISerializable, 
    IDeserializationCallback
[SerializableAttribute] 
[ClassInterfaceAttribute(ClassInterfaceType::None)] 
[ComVisibleAttribute(true)] 
public ref class AssemblyName sealed : _AssemblyName,
 ICloneable, ISerializable, 
    IDeserializationCallback
/** @attribute SerializableAttribute() */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.None) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class AssemblyName implements
 _AssemblyName, ICloneable, 
    ISerializable, IDeserializationCallback
SerializableAttribute 
ClassInterfaceAttribute(ClassInterfaceType.None) 
ComVisibleAttribute(true) 
public final class AssemblyName implements
 _AssemblyName, ICloneable, 
    ISerializable, IDeserializationCallback
解説解説

AssemblyName オブジェクトにはアセンブリに関する情報格納されています。この情報使用してそのアセンブリへのバインドを行うことができますアセンブリID は、次に示す要素から構成されます。

簡易名は通常マニフェスト ファイルの名前です (拡張子を除く)。キー ペアには、厳密な名前によるアセンブリ署名作成するために使用する公開キー秘密キー含まれます。

入れ子になったクラスに対して共通言語ランタイムサポートするすべてのコンパイラ簡易名を生成しリフレクションが、照会されたときに次の規則に従って完全限定名を生成します

たとえば、クラスの完全修飾名は次のようになります

ContainingClass+NestedClass,MyAssembly

"++" は "\+\+"、"\" は "\\" となります

この修飾名は永続化でき、後で Type読み込むために使用できますType検索して読み込むには、型名だけ、またはアセンブリ修飾型名いずれか指定して GetType使用します型名だけを指定して GetType使用した場合は、呼び出し元のアセンブリType だけが検索され次に System アセンブリ検索されます。アセンブリ修飾型名指定して GetType使用した場合は、任意のアセンブリ内の Type検索されます。

AssemblyName を完全に指定する場合、名前、カルチャ、公開キーまたは公開キー トークンメジャー バージョンマイナ バージョンビルド番号リビジョン番号の各パラメータ指定する必要があります最後の 4 パラメータは、Version 型にパッケージ化されます

簡易名を作成するには、既定コンストラクタ使用して AssemblyName オブジェクト作成しName設定します。他のプロパティ省略可能です。

完全な厳密な名前作成するには、既定コンストラクタ使用して AssemblyName オブジェクト作成しName および KeyPair設定します。他のプロパティ省略可能です。SetPublicKey および SetPublicKeyToken を使用して公開キー厳密な名前設定します厳密な名前による署名では、必ず SHA1 ハッシュ アルゴリズム使用されます。

名前を正しく構築するには、次のプロパティ使用します

  • Assembly.FullName

  • AssemblyName.FullName

  • Type.AssemblyQualifiedName

また、/l オプショングローバル アセンブリ キャッシュ ツール (Gacutil.exe) を使用して名前を取得することもできます

厳密な名前部分的に指定して作成するには、既定コンストラクタ使用して AssemblyName オブジェクト作成し、名前と公開キー設定しますAssemblyName などを使用して作成したアセンブリには、アセンブリ リンカ (Al.exe) を使用して後から署名できます

公開キーKeyPair には、矛盾する値を指定できます。このことが、開発において役に立つ場合あります。この場合、GetPublicKey で取得され公開キーには正し公開キー指定しKeyPair には開発中使用する公開キー秘密キー指定しますランタイムによって KeyPair公開キー矛盾検出されると、公開キー一致する正しキーレジストリで検索されます

AssemblyName表示名書式は、次のように、名前から始まるコンマ区切りUnicode 文字列です。

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

Nameアセンブリの名前を表すテキストです。CultureInfo は、RFC1766 の書式定義されているカルチャです。MajorMinorBuild、および Revision は、アセンブリメジャー バージョンマイナ バージョンビルド番号、およびリビジョン番号です。StrongName は、SHA-1 ハッシュ アルゴリズムSetPublicKey指定され公開キー使用して生成される公開キーハッシュ値下位 64 ビット16 進エンコードした値です。PublicKeyToken は、SetPublicKey指定され16 進値にエンコードされた公開キーです。

16 進値にエンコードするとは、バイナリ オブジェクトの各バイト最下位バイトから最上位バイトの順に、16 進値を表す 2 英数文字変換することです。必要に応じて、他の表示値が追加される場合あります

完全な公開キー明らかな場合は、StrongName代わりに PublicKey使用できます

また、Name先頭指定する必要がありますが、その他のパラメータ順序は重要ではありません。特に設定されていないパラメータ (VersionCultureStrongName、または PublicKey) は省略されたと見なされ、AssemblyName部分的に指定されていると解釈されます。部分的な情報指定する場合は、上で説明した順序パラメータ指定する必要があります

表示名指定するときに StrongName =null または PublicKey= null指定した場合は、簡易名を持つアセンブリバインドする必要があることや、そのようなアセンブリ一致する必要があることを示しますまた、Culture= "" (空の文字列を表す二重引用符) を指定すると、既定のカルチャに一致するように指定したことになります

既定のカルチャを使用する簡易名を持つアセンブリ対すAssemblyNameコード例次に示します

com.microsoft.crypto,
    Culture=""

カルチャ "en" を使用し厳密な名前を持つアセンブリに対して完全に指定した参照コード例次に示します

com.microsoft.crypto, Culture=en, PublicKeyToken=a5d015c7d5a0b012, Version=1.0.0.0
使用例使用例

この例は、さまざまなリフレクション クラス使用してアセンブリ格納されメタデータ分析する方法示してます。

Imports System
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] = System.Reflection.Assembly.GetExecutingAssembly()
        Display(indent, "Assembly identity={0}", a.FullName)
        Display(indent + 1, "Codebase={0}", a.CodeBase)

        ' Display the set of assemblies our assemblies references.
        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()
'
継承階層継承階層
System.Object
  System.Reflection.AssemblyName
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
AssemblyName メンバ
System.Reflection 名前空間
Version
GetPublicKey
GetPublicKeyToken
SetPublicKey
SetPublicKeyToken
FullName
GetType
AssemblyQualifiedName
その他の技術情報
全修型名指定

AssemblyName コンストラクタ ()

AssemblyName クラス新しインスタンス初期化します。

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public AssemblyName ()
public:
AssemblyName ()
public AssemblyName ()
public function AssemblyName ()
使用例使用例

MyAssembly.exe という名前の動的アセンブリ作成してハード ディスク保存するコード例次に示します。この例の実行後は、MSIL 逆アセンブラ (Ildasm.exe) を使用してアセンブリメタデータ調べることができます

Imports System
Imports System.Reflection
Imports System.Threading
Imports System.Reflection.Emit
Imports Microsoft.VisualBasic

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 'MakeAssembly
   
   
   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 'Main 
End Class 'AssemblyName_Constructor
 
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);
      }
   }
}
using namespace System;
using namespace System::Reflection;
using namespace System::Threading;
using namespace System::Reflection::Emit;
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",
 static_cast<MethodAttributes>(MethodAttributes::Public | MethodAttributes::HideBySig
 | MethodAttributes::Static), void::typeid, nullptr );

   // 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 );
}

int main()
{
   // Create a dynamic assembly with name 'MyAssembly' and build version
 '1.0.0.2001'.
   AssemblyName^ myAssemblyName = gcnew AssemblyName;
   myAssemblyName->Name = "MyAssembly";
   myAssemblyName->Version = gcnew Version( "1.0.0.2001" );
   MakeAssembly( myAssemblyName, "MyAssembly.exe" );

   // Get all the assemblies currently loaded in the application domain.
   array<Assembly^>^myAssemblies = Thread::GetDomain()->GetAssemblies();

   // Get the dynamic assembly named 'MyAssembly'. 
   Assembly^ myAssembly = nullptr;
   for ( int i = 0; i < myAssemblies->Length;
 i++ )
   {
      if ( String::Compare( myAssemblies[ i ]->GetName()->Name,
 "MyAssembly" ) == 0 )
            myAssembly = myAssemblies[ i ];
   }
   if ( myAssembly != nullptr )
   {
      Console::WriteLine(  "\nDisplaying the assembly name\n" );
      Console::WriteLine( myAssembly );
   }
}
import System.*;
import System.Reflection.*;
import System.Threading.*;
import System.Reflection.Emit.*;

public class AssemblyNameConstructor
{
    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();

        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);
            }
        }

        if (myAssembly != null) {
            Console.WriteLine("\nDisplaying the assembly name\n");
            Console.WriteLine(myAssembly);
        }
    } //main
} //AssemblyNameConstructor
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

AssemblyName コンストラクタ (String)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

指定した表示名使用して AssemblyName クラス新しインスタンス初期化します。

名前空間: System.Reflection
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    assemblyName As String _
)
Dim assemblyName As String

Dim instance As New AssemblyName(assemblyName)
public AssemblyName (
    string assemblyName
)
public:
AssemblyName (
    String^ assemblyName
)
public AssemblyName (
    String assemblyName
)
public function AssemblyName (
    assemblyName : String
)

パラメータ

assemblyName

FullName プロパティによって返されるアセンブリ表示名

解説解説
使用例使用例

MyAssembly.exe という名前の動的アセンブリ作成してハード ディスク保存するコード例次に示します。この例の実行後は、MSIL 逆アセンブラ (Ildasm.exe) を使用してアセンブリメタデータ調べることができます

Imports System
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
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
 */
using namespace System;
using namespace System::Reflection;

int main()
{
   // Create an AssemblyName, specifying the display name, and then
   // print the properties.
   AssemblyName^ myAssemblyName = 
      gcnew 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
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

AssemblyName コンストラクタ


AssemblyName プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

AssemblyName クラス
System.Reflection 名前空間
Version
GetPublicKey
GetPublicKeyToken
SetPublicKey
SetPublicKeyToken
FullName
GetType
AssemblyQualifiedName

その他の技術情報

全修型名指定

AssemblyName メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド Clone この AssemblyName オブジェクトコピー作成します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetAssemblyName 指定したファイルAssemblyName取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetObjectData シリアル化情報と、この AssemblyNameインスタンス再作成必要なすべてのデータ取得します
パブリック メソッド GetPublicKey アセンブリ公開キー取得します
パブリック メソッド GetPublicKeyToken 公開キー トークン (アプリケーションまたはアセンブリ署名するときに使用した公開キーSHA-1 ハッシュ最後の 8 バイト) を取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド OnDeserialization ISerializable インターフェイス実装し、逆シリアル化完了したときに逆シリアル化イベントによってコールバックされます
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ReferenceMatchesDefinition ローダー2 つアセンブリ名を同じアセンブリ解決するかどうかを示す値を返します
パブリック メソッド SetPublicKey アセンブリ識別する公開キー設定します
パブリック メソッド SetPublicKeyToken 公開キー トークン (アプリケーションまたはアセンブリ署名するときに使用した公開キーSHA-1 ハッシュ最後の 8 バイト) を設定します
パブリック メソッド ToString オーバーライドされますアセンブリの完全名返します。この名前は表示名とも呼ばれます
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.GetIDsOfNames 一連の名前を対応する一連のディスパッチ識別子割り当てます
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.GetTypeInfo オブジェクト型情報取得しますその後は、インターフェイス型情報取得使用できます
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.GetTypeInfoCount オブジェクト提供する型情報インターフェイスの数 (0 または 1) を取得します
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.Invoke オブジェクト公開するプロパティおよびメソッドアクセスできるようにします。
参照参照

関連項目

AssemblyName クラス
System.Reflection 名前空間
Version
GetPublicKey
GetPublicKeyToken
SetPublicKey
SetPublicKeyToken
FullName
GetType
AssemblyQualifiedName

その他の技術情報

全修型名指定

AssemblyName メンバ

アセンブリ一意ID を完全に記述します

AssemblyName データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド Clone この AssemblyName オブジェクトコピー作成します
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetAssemblyName 指定したファイルAssemblyName取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetObjectData シリアル化情報と、この AssemblyNameインスタンス再作成必要なすべてのデータ取得します
パブリック メソッド GetPublicKey アセンブリ公開キー取得します
パブリック メソッド GetPublicKeyToken 公開キー トークン (アプリケーションまたはアセンブリ署名するときに使用した公開キーSHA-1 ハッシュ最後の 8 バイト) を取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド OnDeserialization ISerializable インターフェイス実装し、逆シリアル化完了したときに逆シリアル化イベントによってコールバックされます
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ReferenceMatchesDefinition ローダー2 つアセンブリ名を同じアセンブリ解決するかどうかを示す値を返します
パブリック メソッド SetPublicKey アセンブリ識別する公開キー設定します
パブリック メソッド SetPublicKeyToken 公開キー トークン (アプリケーションまたはアセンブリ署名するときに使用した公開キーSHA-1 ハッシュ最後の 8 バイト) を設定します
パブリック メソッド ToString オーバーライドされますアセンブリの完全名返します。この名前は表示名とも呼ばれます
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.GetIDsOfNames 一連の名前を対応する一連のディスパッチ識別子割り当てます
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.GetTypeInfo オブジェクト型情報取得しますその後は、インターフェイス型情報取得使用できます
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.GetTypeInfoCount オブジェクト提供する型情報インターフェイスの数 (0 または 1) を取得します
インターフェイスの明示的な実装 System.Runtime.InteropServices._AssemblyName.Invoke オブジェクト公開するプロパティおよびメソッドアクセスできるようにします。
参照参照

関連項目

AssemblyName クラス
System.Reflection 名前空間
Version
GetPublicKey
GetPublicKeyToken
SetPublicKey
SetPublicKeyToken
FullName
GetType
AssemblyQualifiedName

その他の技術情報

全修型名指定

_AssemblyName インターフェイス

メモ : このインターフェイスは、.NET Framework version 2.0新しく追加されたものです。

AssemblyName クラスアンマネージ コード公開します

 

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)> _
<GuidAttribute("B42B6AAC-317E-34D5-9FA9-093BB4160C50")>
 _
<CLSCompliantAttribute(False)> _
<ComVisibleAttribute(True)> _
Public Interface _AssemblyName
Dim instance As _AssemblyName
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] 
[GuidAttribute("B42B6AAC-317E-34D5-9FA9-093BB4160C50")] 
[CLSCompliantAttribute(false)] 
[ComVisibleAttribute(true)] 
public interface _AssemblyName
[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIUnknown)] 
[GuidAttribute(L"B42B6AAC-317E-34D5-9FA9-093BB4160C50")] 
[CLSCompliantAttribute(false)] 
[ComVisibleAttribute(true)] 
public interface class _AssemblyName
/** @attribute InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown) */ 
/** @attribute GuidAttribute("B42B6AAC-317E-34D5-9FA9-093BB4160C50") */
 
/** @attribute CLSCompliantAttribute(false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public interface _AssemblyName
InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown) 
GuidAttribute("B42B6AAC-317E-34D5-9FA9-093BB4160C50") 
CLSCompliantAttribute(false) 
ComVisibleAttribute(true) 
public interface _AssemblyName
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
_AssemblyName メンバ
System.Runtime.InteropServices 名前空間

_AssemblyName メソッド


_AssemblyName メンバ




英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「AssemblyName」の関連用語

AssemblyNameのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



AssemblyNameのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS