方法: アセンブリの完全修飾名を検索するHow to: Find an assembly's fully qualified name

グローバル アセンブリ キャッシュ内の .NET Framework アセンブリの完全修飾名を検出するには、グローバル アセンブリ キャッシュ ツール (Gacutil.exe) を使用します。To discover the fully qualified name of a .NET Framework assembly in the global assembly cache, use the Global Assembly Cache tool (Gacutil.exe). 方法:グローバル アセンブリ キャッシュの内容を表示する」を参照してください。See How to: View the contents of the global assembly cache.

.NET Core アセンブリの場合、およびグローバル アセンブリ キャッシュにない .NET Framework アセンブリの場合、完全修飾アセンブリ名をいくつかの方法で取得できます。For .NET Core assemblies, and for .NET Framework assemblies that aren't in the global assembly cache, you can get the fully qualified assembly name in a number of ways:

  • コードを使用しコンソールや変数に情報を出力したり、Ildasm.exe (IL Disassembler) を使用して完全修飾名を含むアセンブリのメタデータを調べたりできます。You can use code to output the information to the console or to a variable, or you can use the Ildasm.exe (IL Disassembler) to examine the assembly's metadata, which contains the fully qualified name.

  • アセンブリがアプリケーションによって既に読み込まれている場合、Assembly.FullName プロパティの値を取得して、完全修飾名を取得できます。If the assembly is already loaded by the application, you can retrieve the value of the Assembly.FullName property to get the fully qualified name. アセンブリに定義されている TypeAssembly プロパティを使用して、Assembly オブジェクトへの参照を取得できます。You can use the Assembly property of a Type defined in that assembly to retrieve a reference to the Assembly object. 具体的な例を次に示します。The example provides an illustration.

  • アセンブリのファイル システム パスがわかっている場合は、static (C#) または Shared (Visual Basic) AssemblyName.GetAssemblyName メソッドを呼び出して、完全修飾アセンブリ名を取得できます。If you know the assembly's file system path, you can call the static (C#) or Shared (Visual Basic) AssemblyName.GetAssemblyName method to get the fully qualified assembly name. 単純な例を次に示します。The following is a simple example.

    using System;
    using System.Reflection;
    
    public class Example
    {
       public static void Main()
       {
          Console.WriteLine(AssemblyName.GetAssemblyName(@".\UtilityLibrary.dll"));
       }
    }
    // The example displays output like the following:
    //   UtilityLibrary, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
    
    Imports System.Reflection
    
    Public Module Example
       Public Sub Main
          Console.WriteLine(AssemblyName.GetAssemblyName(".\UtilityLibrary.dll"))
       End Sub
    End Module
    ' The example displays output like the following:
    '   UtilityLibrary, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null
    
  • Ildasm.exe (IL 逆アセンブラー) を使用して、アセンブリのメタデータを使用できます。これには完全修飾名が含まれています。You can use the Ildasm.exe (IL Disassembler) to examine the assembly's metadata, which contains the fully qualified name.

バージョン、カルチャ、アセンブリ名などのアセンブリ属性の設定の詳細については、「アセンブリ属性の設定」を参照してください。For more information about setting assembly attributes such as version, culture, and assembly name, see Set assembly attributes. アセンブリに厳密な名前を指定する方法の詳細については、「厳密な名前付きアセンブリの作成と使用」を参照してください。For more information about giving an assembly a strong name, see Create and use strong-named assemblies.

Example

指定したクラスを含むアセンブリの完全修飾名をコンソールに表示する例を次に示します。The following example shows how to display the fully qualified name of an assembly containing a specified class to the console. Type.Assembly プロパティを使用して、そのアセンブリで定義されている型からアセンブリへの参照を取得します。It uses the Type.Assembly property to retrieve a reference to an assembly from a type that's defined in that assembly.

#using <System.dll>
#using <System.Data.dll>

using namespace System;
using namespace System::Reflection;

ref class asmname
{
public:
    static void Main()
    {
        Type^ t = System::Data::DataSet::typeid;
        String^ s = t->Assembly->FullName->ToString();
        Console::WriteLine("The fully qualified assembly name " +
            "containing the specified class is {0}.", s);
    }
};

int main()
{
    asmname::Main();
}
using System;
using System.Reflection;

class asmname
{
    public static void Main()
    {
        Type t = typeof(System.Data.DataSet);
        string s = t.Assembly.FullName.ToString();
        Console.WriteLine("The fully qualified assembly name " +
            "containing the specified class is {0}.", s);
    }
}
Imports System.Reflection

Class asmname
    Public Shared Sub Main()
        Dim t As Type = GetType(System.Data.DataSet)
        Dim s As String = t.Assembly.FullName.ToString()
        Console.WriteLine("The fully qualified assembly name " +
            "containing the specified class is {0}.", s)
    End Sub
End Class

関連項目See also