방법: 어셈블리의 정규화된 이름 찾기
전역 어셈블리 캐시에서 .NET Framework 어셈블리의 정규화된 이름을 찾으려면 전역 어셈블리 캐시 도구(Gacutil.exe)를 사용합니다. 방법: 전역 어셈블리 캐시의 내용 보기를 참조하세요.
.NET Core 어셈블리와 전역 어셈블리 캐시에 없는 .NET Framework 어셈블리의 경우, 여러 방법으로 정규화된 어셈블리 이름을 가져올 수 있습니다.
코드를 사용하여 콘솔이나 변수로 정보를 출력하거나 Ildasm.exe(IL 디스어셈블러)를 사용하여 정규화된 이름이 포함된 어셈블리의 메타데이터를 검사할 수 있습니다.
애플리케이션에서 어셈블리를 이미 로드한 경우 Assembly.FullName 속성의 값을 검색하여 정규화된 이름을 가져올 수 있습니다. 해당 어셈블리에 정의된 Type의 Assembly 속성을 사용하여 Assembly 개체에 대한 참조를 검색할 수 있습니다. 예제에서는 그림을 제공합니다.
어셈블리의 파일 시스템 경로를 알고 있는 경우
static
(C#) 또는Shared
(Visual Basic) AssemblyName.GetAssemblyName 메서드를 호출하여 정규화된 어셈블리 이름을 가져올 수 있습니다. 다음은 간단한 예제입니다.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 디스어셈블러)를 사용하여 정규화된 이름이 포함된 어셈블리의 메타데이터를 검사할 수 있습니다.
버전, 문화권 및 어셈블리 이름과 같은 어셈블리 특성 설정에 대한 자세한 내용은 어셈블리 특성 설정을 참조하세요. 어셈블리에 강력한 이름을 지정하는 방법에 대한 자세한 내용은 강력한 이름의 어셈블리 만들기 및 사용을 참조하세요.
예시
다음 예제는 지정된 클래스를 포함하는 어셈블리의 정규화된 이름을 콘솔에 표시하는 방법을 보여 줍니다. 이 예제는 Type.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
참고 항목
.NET