상세 컨텐츠

본문 제목

Gac 에 등록하는 방법 과 확인하는 방법

MOSS

by happynuri 2007. 9. 10. 11:29

본문

GAC 확인 방법

 

1. Visual Studio 2005 명령 프롬프트 실행

     시작 -> 프로그램 -> Microsoft Visual Studio 2005 -> Visual Studio Tools -> Visual Studio 2005 명령 프롬프트


2. assembly 입력

     탐색기를 통해서 등록된 DLL을 확인 할 수 있다.


GAC 등록 방법

 

1. private key 생성

 

     시작 -> 프로그램 -> Microsoft Visual Studio 2005 -> Visual Studio Tools -> Visual Studio 2005 명령 프롬프트

     명령프롬프트에 sn -k Mykey.snk 입력한다.

     명령을 실행한 경로에 Mykey.snk라는 이름으로 private key가 생성된다. 키 이름은 자신이 원하는 것으로 수정이

     가능 한다.


2. 생성한 key를 통해 DLL서명

 

     서명하고자 하는 프로젝트의 Properties를 더불클릭하면 Properties설정창이 나타난다.  

     Properties설정 창의 서명 탭에 들어가면 어셈블리 서명을 체크하고 생성한 private key를 입력후 다시 빌드하면

     입력한 private key로 서명된 DLL이 생성된다.


     * 프로젝트 폴더에 private key를 복사해 두면 바로 찾을 수 있다.


3. GAC에 서명한 DLL등록

 

     서명된 DLL을 assembly로 창에 드레그엔 드랍하면 GAC에 등록된다.


     이러한 절차를 통하므로 DLL을 크렉하는 것을 방지 할 수 있다.


GAC 자동등록 방법

 

     위에서는 GAC를 손으로 등록했다. 하지만 사용자들의 PC에서 위와 같이 등록하는 것은 매우 불편하다. 프로그램을

     통해서 자동으로 등록하는 방법을 알아보자.


1. gacutil.exe를 통한 등록

 

   Microsoft Visual Studio 8 -> SDK -> v2.0 -> Bin -> gacutil.exe


    에 존재한다. 에 -i 옵션을 통해 dll을 등록할 수 있다. 배치파일을 만들서 등록하는 하면 인스톨시 처리가 가능하다.


2. 코딩단에서 등록도 가능 하다고 한다. 이는 한번 찾아보고 정리하겠다.

 

3. Visual Studio작업시 손 쉽게 GAC를 등록하는 방법

   

     프로젝트를 참조하고 있는 프로젝트의 빌드시 참조하고 있는 프로젝트의 동일한 DLL이 GAC에 등록되어 있으면

     GAC의 DLL을 참조하고 등록되어 있지 않으면 참조하는 프로젝트로 DLL을 복사하여 빌드한다.

     번거로운 작업을 단순화 하기 위해서 더이상 수정이 이루어지지 않는 DLL사용할 경우 GAC에 등록하는 작업을

     Visual Studio에서 작업 할 때

   

     도구 -> 외부도구

 

      에 gacutil를 등록하여 사용하면 작업이 편한다.



그리고 하나더 수동으로 gac 에 추가 하기.

1.
D:\WINDOWS\assembly
에 dll을 끌어다 놓는다.

2.
D:\Inetpub\wwwroot\wss\VirtualDirectories\80

web.config
<SafeControl Assembly="WebPart_Calendar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=95af31073968de26" Namespace="WebPart_Calendar" TypeName="CustomCalendar" Safe="True" />


 <compilation batch="false" debug="false">
      <assemblies>
 <add assembly="WebPart_Calendar, Version=1.0.0.0, Culture=neutral, PublicKeyToken=95af31073968de26" />
       </assemblies>

추가.

iisrestart

관련글 더보기

댓글 영역