기본 콘텐츠로 건너뛰기

[Tips] Visual Studio 에서 특정 어셈블리의 PublicKeyToken 찾는 법

막상 Visual Studio로 개발을 하다보면 Configuration이나 VSTemplate의 Wizard 등에 어셈블리의 FullName을 명시해야 하는 경우가 있다. 

이런 경우에 Namespace와 Assembly Name은 정보가 속성들을 보고 대략 유추가 가능한데, 정작 서명된 어셈블리에 대한 PublicKeyToken 정보는 찾을 수 없다. 따라서 간단하게 Visual Studio 상에서 PublicKeyToken을 찾는 방법을 정리해 둔다.

[ VS 에서 PublicKeyToken 정보 찾기 ]

1. Visual Studio의 "도구" 메뉴에서 "외부 도구" 를 선택한다.
2. "외부 도구" 창에서 "추가"를 한다.
    2.1 제목을 "Find PublicKeyToken" 으로 설정한다.
    2.2 명령을 "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\sn.exe" 로 설정한다.
    2.3. 인수를 "-Tp $(TargetPath)" 로 설정한다.
    2.4. "출력 창 사용" 항목을 Check 한다.

상기와 같이 설정을 처리하고 솔루션 탐색기에서 프로젝트를 선택하고 "도구" -> "Find PublicKeyToken" 메뉴를 클릭하면 "출력 창" 에 해당 어셈블리에서 대한 Key 정보를 볼 수 있다.


[ VS 에서 어셈블리 FullName 찾기 ]

1. "Alt + Ctrl + i " 키를 눌러서 "직접 실행 창"을 연다.
2. 실행 창에 "?System.Reflection.Assembly.LoadFile(@"어셈블리 경로").FullName 을 실행한다.

[ VS 에서 어셈블리 FullName 찾기 2 ]

1. 다음과 같이 Command Line에서 실행가능한 콘솔 어플리케이션 코드를 작성한다.

namespace GetAssemblyName {
class Program {
#region [ Static Members ]

static void printUsage() {
Console.WriteLine("Usage: GetAssembly.exe <path and assembly filename.\n");
Console.WriteLine(@"Example: GetAssembly.exe C:\MyAssembly.dll");
Console.WriteLine("Terminated to press any key.");
Console.Read();
} #endregion #region [ Entry Members ] static void Main(string[] args) {
if (args.Length < 1 || args[0] == "?") {
printUsage();
return;
} string fileName = args[0]; try { AssemblyName an = AssemblyName.GetAssemblyName(fileName); Console.WriteLine("Fully specified assembly name:\n"); Console.WriteLine(an.ToString()); } catch (FileNotFoundException) { Console.WriteLine("Cannot locate the assembly. Check the path and try again."); } Console.WriteLine("Terminated to press any key."); Console.Read(); }
#endregion
} }

2. Visual Studio의 "도구" 메뉴에서 "외부 도구" 를 선택한다.
3. "외부 도구" 창에서 "추가"를 한다.
    3.1 제목을 "Find FullName" 으로 설정한다.
    3.2 명령을 "C:\Temp\GetAssemblyName.exe" 로 설정한다. (위의 코드를 복사해 놓은 경로)
    3.3. 인수를 "$(TargetPath)" 로 설정한다.
    3.4. "출력 창 사용" 항목을 Check 한다.

사용 방법은 위의 PublicKeyToken 툴 설정과 동일하다.

댓글