본문 바로가기
[최대48만원] 인터넷•TV 가입시 설치당일 현금지급 정수기 렌탈시 최대50만원 추가지급
엔지엠 매크로

소스가 없는 라이브러리 또는 어셈블리를 강력한 이름으로 서명하기.

by 업무자동화 2017. 4. 23.
반응형

http://ngmaster.ignorelist.com/ngmaster/xe/index.php?mid=COMMUNITY_TIP_AND_TECH&document_srl=24352


소스가 없는 라이브러리를 강력한 이름으로 서명할일이 발생할만한 상황은 거의 없겠지만, 막상 문제가 발생되면 난감한 상황에 처하게 됩니다. 하지만 소스(프로젝트)가 있다면 Visual Studio에서 해당 프로젝트의 속성에서 간단하게 강력한 이름으로 라이브러리 또는 어셈블리에 서명할 수 있습니다.

ngmaster.png



하지만, 지금 상황은 소스가 없기 때문에 Visual Studio의 도움을 받을 수 없습니다-_-; 수동으로 작업할 수밖에 없죠. 이런 일련의 작업들을 한번에 처리할 수 있도록 프로그램을 하나 만들었는데요. 아래 링크에서 내용을 확인하고 다운로드 받을 수 있습니다.

Strong Name Sign Maker ]


수동으로 어셈블리에 서명하는 방법...

먼저 Visual Studio의 Developer Command Prompt를 실행합니다. 시작 버튼 옆 "Windows 검색"에 "dev"를 입력하면 목록에 보여질겁니다. 물론, Visual Studio가 먼저 설치되어 있어야 합니다.

ngmaster1.png



강력한 이름으로 서명할 어셈블리가 있는 폴더로 이동합니다.

  1. cd\ (현재 드라이브의 루트 디렉토리로 이동)

  2. cd StrongNameSignMakerSample (강력한 이름으로 서명할 어셈블리가 있는 디렉토리로 이동)

  3. sn -v CABDevExpress.ExtensionKit.dll (이 어셈블리가 강력한 이름으로 서명되었는지 확인)

ngmaster2.png



위 이미지에서 확인한 것처럼 해당 어셈블리는 강력한 이름으로 서명되지 않았습니다. 어셈블리를 강력한 이름으로 서명하기 위해서는 "강력한 이름 키 파일"이 필요합니다.

  1. sn -k NgmasterKey.snk (NgmasterKey.snk 강력한 이름 키 파일 생성)

ngmaster3.png

반응형

댓글