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 の書式で定義されているカルチャです。Major、Minor、Build、および Revision は、アセンブリのメジャー バージョン、マイナ バージョン、ビルド番号、およびリビジョン番号です。StrongName は、SHA-1 ハッシュ アルゴリズムと SetPublicKey で指定された公開キーを使用して生成される公開キーのハッシュ値の下位 64 ビットを 16 進エンコードした値です。PublicKeyToken は、SetPublicKey で指定され、16 進値にエンコードされた公開キーです。

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

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

また、Name は先頭に指定する必要がありますが、その他のパラメータの順序は重要ではありません。特に設定されていないパラメータ (Version、Culture、StrongName、または 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 メンバ




英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「AssemblyName」の関連用語

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

   

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



AssemblyNameのページの著作権

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

©2026 GRAS Group, Inc.RSS