구글상단


[.net] COM+ 컴포넌트 등록하기 by 놀라운넘

  

◈ [.net] COM+ 컴포넌트 등록하기



  시작하기 전에...

제가 현재 일하는 회사에서는 COM+ 컴포넌트를 등록하여 프로젝트에 필요한 Object를 생성하여 사용합니다.
자주 사용하는 자료라서 블로그에 올려봅니다.


  1. 에러발생 내역

    - regasm으로 COM을 등록하여 사용할 경우

 

       regasm COM+.dll /codebase 으로 COM을 등록할 시

 

       약간의 경고 메시지와 "Types registered successfully" 라는 결과가 나오는 것을 볼 수 있습니다
       경고 메시지는 COM으로 내보낸 어셈블리가 사이닝된 "강력한 어셈블리"가 아니므로
       네크웤의 다른 컴퓨터에서 접근할 수 없다는 내용인데요

      이럼.. 안되겠쬬... ㅋㅋ

 

   - 구성요소서비스를 통해서 COM+를 등록하여 사용할 경우

 

      구성요소서비스에 등록이 되지 않고

 

     오류 때문에 'D:\실경로\COM+.dll'을(를) '{F5B10F1B-43D6-4685-A06F-AC8463270D33}' 에 설치하지 못했습니다.

     System.EnterpriseServices.RegistrationException: 'D:\실경로\COM+.dll' 어셈블리에 강력한 이름이 없습니다

 

     이런 에러메시지가 나옵니다.


  2. 처리 방법


    C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin의 패스가 잡혀있어야 합니다.. 그게 편하겠쬬.. ㅋㅋ

 

    1. 어셈블리에 대해서 strong-name이라는 것을 생성해 주어야 하고, 이것은 sn.exe라는 툴을 사용해서 작성할 수 있습니다.

        도스창에서  sn -k sample.snk 해서 sample.snk라는  키값을 갖는 파일을 생성합니다.

         이 파일에는 public/private키가 들어 있습니다.

 

    2. 생성된 파일을 어셈블리에서 참조하기 위해서는 다음과 같이 처리합니다.    

       AssemblyInfo.cs 파일 안에 마지막에 보시면

       [assembly: AssemblyKeyFile("")]  이 부분이 있는데 이부분에 KeyFile의 경로를 설정하여 작성하여 줍니다.

 

       ex) [assembly: AssemblyKeyFile("../../sample.snk")]

 

     3. 컴파일한 dll을 구성요소서비스에 등록하면 잘됩니당... ^^


  3. RDS를 위해 COM+를 사용할 경우


     1. gacutil -i XXX.dll

     2. regsvcs XXX.dll  를 통해서 COM+를 등록해줍니다.

     3. 구성요소서비스를 보면 namespace으로 COM+ 응용프로그램명이 등록되고, COM+ 내역들이 구성요소로 등록이 되어 있습니다.

     4. c:\운영체제\assembly에 보면 해당 COM+의 어셈블리가 등록되어 있습니다.

 

아래의 참고사이트에서 일부분 Copy하였습니다..^^;

 

잡담) - COM / COM+에 대한 자세한 사항은 관련서적 및 검색을 요합니다.. ^^

        - 일단 COM+에 대해서만 테스트를 완료한 상태입니다.. COM은 테스트해보지 않아서.. ㅋㅋ


  참고내역


  1) COM+ 컴포넌트 작성 및 설치 :
http://mssql.org/lecture/list_midtech.htm

  2) Taeyo.pe.kr / 김형진님 : http://taeyo.pe.kr/threadboard/Content.asp?table=Board_Knowhow&seqs=524&page=1&IsSearch=true

  3) .NET SDK sn.exe 사용법 : http://blog.naver.com/post/postView.jsp?blogId=chaos78&logNo=10003945041&categoryNo=29&viewdate=&cpage2=1&cpage=1

  4) 2003서버에서 COM+ 등록하기 : http://cafe.naver.com/ArticleRead.nhn?clubid=10821336&menuid=11&listtype=M&boardtype=L&page=&articleid=345

출처 카페 > .NET 리스트 | 소년하루
원문 http://cafe.naver.com/dotnetlist/623


이글루스 가든 - 프로그래머 최고수가 되는 길

 블로그코리아에 블UP하기

덧글

댓글 입력 영역


[BEST] Funny baby videos

통계 위젯 (화이트)

1617
117
1030991

코튜버

[TOP] KoTuber Funny videos

구글 애드센스