티스토리 뷰

C# COM을 COM+ 으로 만들어 등록하기

C# dll 처럼 만든다.

1. System.EnterpriseService 를 참조한다.

2. using System.EnterpriseServices; 코드 추가

3. Strong Name 파일을 만들기
sn -k dnskorea.snk 를 실행하면 dnskorea.snk 파일이 만들어진다.

4. 만들어진 dnskorea.snk 파일을 cpp 소스가 있는 폴더에 복사한다.

5. 만들어진 String Name을 AssemblyInfo.cs 파일에 추가한다.

위 그림과 같이 17행에 추가한다.

6. System.EnterpriseServices 참조추가하고 아래 처럼 코드를 추가한다.

22~24행 과 29행 처럼 코드 추가한다.
29행 처엄 외부 호출되는 함수중 맨 위 함수 앞에 AutoComplete 를 한번만 추가한다.

[JustInTimeActivation(true)]
[ObjectPooling(MinPoolSize =1, MaxPoolSize =5)]
[Transaction(TransactionOption.Required)]

[AutoComplete]

6. 다시 컴파일 한다.

7. 새로 만들어진 dll 을 GAC 영역에 등록하기

gacutil /i _COMTest.dll 을 실행하면 GAC(Grobal Assembly Cache) 에 등록된다.

C:\Windows\Microsoft.NET\assembly\GAC_32\_COMTest\v4.0_1.0.0.0__dfa4785b56e8342b 폴더에 dll 파일이 생긴다. 복사해서 파일 붙여넣기가 되지만 반드시 gacutil.exe 로 등록해줘야만 한다.

참고>
만들어진 dll 프로젝트 버전에 따라 폴더 위치는 달랐다. 예로, v1(2003년도) 로 만들어진 프로젝트를 VisualStudio2017로 프로젝트 열어 빌드하고 등록하면 C:\Windows\Assembly\GAC_MSIL 폴더에 등록되었다.

8. COM+ Server 프로그램에 등록하기

RegSvcs _COMTest.dll 실행하여 등록한다.

9. 제어판/관리도구/구성요소서비스를 순서대로 선택하면 아래 그림처럼 구성요소서비 창에 _COMTest 가 등록된것을 확인할 수 있다.

COM+ Client 프로그램 작성해서 실행해보기. 혹인 못함.


COM+ 설치하기 : http://petra.tistory.com/1143

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31