Microsoft MVP성태의 닷넷 이야기
.NET Framework: 6. Win2000에서의 .NET COM+ 자동 등록 오류 발생 해결 [링크 복사], [링크+제목 복사],
조회: 27885
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

현재의 제 노트북에 설치된 환경이 워낙 복잡하고 잘 설치되어 있다보니, 쉽게 XP로의 이전을 못하고 있습니다. 더군다나, 프리랜서로 작업을 하다보니, 고객들의 요청이 모두가 급하다 보니, 쉽게 시간을 낼 수 없어서 미루고 있습니다.

그래서 .NET에 대한 공부를 Win2000 환경에서 하고 있는데... 하다보니 문제가 좀 발생하더군요.

일례로, .NET으로 만든 Assembly를 COM+로 등록한다고 표시를 해두면, 실행 시에 자동으로 등록되어지는 기능이 있는데, Win2000에서는 그 훌륭한 "자동 등록" 기능이 다소 불안정하게 동작합니다.
.NET의 버그라고 생각하고 할 수 없이, regsvcs.exe로 수동 등록을 해주면서 테스트를 했는데, "김현승의 닷넷이야기" 클럽에 글을 올렸더니, "안재우" 님이 아래와 같은 답변을 해주시더군요.

실제로, 그 이후로 "자동 등록"에 관해서는 어떠한 문제도 발생하지 않았습니다. 아래의 답변의 요점은,,, Win2000 SP3과 .NET Framework SP2를 설치할 것이며, Assembly Type에 GUID를 부여하라는 것입니다.

실제 질문/답변의 스레드는 다음의 URL에서 확인하실 수 있습니다.

http://www.devpia.com/Club/ClubSub/ClubBBS/ClubBBSView.aspx?c_no=188&ref=188&page=1&depth=0&step=0&clubname=C_ClubBoard&code=2307&Cate=bbs&SearchDistinct=&SearchText=

위의 웹페이지를 정상적으로 보기 위해서는 Devpia에 회원 가입이 되어야 하며, "김현승의 닷넷이야기" 클럽에 가입해야 합니다.

////// 아래는 안재우 (lancers@devpia.com )님의 답변입니다. /////////
결론적으로 말씀드리면..
네.. 자동 등록은 100% 제대로 동작한다고 보긴 어렵습니다.
제 경우는 거의 그런 상황을 본 적은 없습니다만...
몇몇 사람들이 Self-Registration 시 문제가 생기는 경우가 있다는 얘기를 하더군요.
운영체제하고도 어느 정도 관련이 있는것 같던데..
2000에서 그런 경우를 더욱 많이 본 것 같습니다. (아시다시피 2000의 COM+는 구 버전에다 버그도 좀 있죠)
저는 XP를 사용하는데 그 이후는 하나도 본 적이 없는 것 같습니다만...
이건 공식적인 정보가 아니라 경험 상의 얘기이니 믿거나 말거나 입니다. :-)

역시 가장 확실하고 안정적인 방법은..
regsvcs를 사용해서 수동으로 등록하는 것이랍니다. ^^

그리고 궁금한 것 중 하나는
두 분 다 ActivationModel을 Server로 하셨나요, Library로 하셨나요?
저는 대부분의 경우 Library로 사용하는데 이러한 경우를 본 적이 거의 없습니다.
Server의 경우는 문제가 좀 많은 듯 하더군요.
예전에 자료실에도 올렸지만, .NET에서는 Server 활성화를 사용할 이유가 거의 전무합니다.

또 하나.. 개발을 계속하다보면.. COM+ Application 내에 동일한 이름의 컴포넌트가 계속 쌓이게 됩니다.
기본적으로 매번 빌드 시마다 VS.NET이 컴포넌트의 버전과 GUID를 랜덤하게 만들어 내기 때문인데요..
이게 문제가 되는 경우도 있는것 같더군요.
GUID를 고정시켜주면 그런 문제가 거의 없어질 것으로 생각됩니다. ^^

앗.. 그리고 ASP.NET이 JIT 컴파일하면서 블루스크린이 뜨는 문제..
저도 몇번 봤답니다. ^^
그런데 노트북을 바꾸고 나서는 한번도 본 적이 없는데, 이게 어찌된 일일까요..? ^^;;
윈 2000을 사용하시는 분들은 SP3를 반드시 까시고..
.NET Framework도 SP2로 패치하여 사용해 보시기 바랍니다.

다른 얘기입니다만..
윈폼 애플리케이션을 만들어보다가 희한한(?) 현상을 하나 목격했습니다.
약간 무거운(?) 애플리케이션이긴 한데..
정확한 원인이 무엇인지는 모르겠지만..
어느 날 터미널로 들어가보니..
폼 전체에 빨간 X 표시가 되어 있는체, 원인을 전혀 알 수 없는 오류가 발생해 있더군요.
운영체제가 아직 베타인 Windows.NET이어서 그랬는지.. 에궁.. -.-








[최초 등록일: ]
[최종 수정일: 7/9/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
14037정성태11/3/2025283Linux: 129. eBPF (bpf2go) - BPF_PROG_TYPE_CGROUP_SKB 예제 - "cgroup_skb/egress", "cgroup_skb/egress"
14036정성태10/25/20251497디버깅 기술: 224. Visual Studio - 디버깅 시 다른 함수의 소스 코드를 보여주는 사례 (Enable COMDAT Folding 옵션)파일 다운로드1
14035정성태10/24/20251432C/C++: 189. Visual C++ - 디버그 코드에서 빌드 옵션 조정으로 최적화 코드로의 전환파일 다운로드1
14034정성태10/22/20251398닷넷: 2375. C# - dynamic 사용 시 internal 멤버에 대한 RuntimeBinderException 예외가 발생하는 문제파일 다운로드1
14033정성태10/22/20251844닷넷: 2374. C# - dynamic과 "Explicit Interface Implementation"의 문제파일 다운로드1
14032정성태10/21/20251507닷넷: 2373. C# - dynamic 예약어 사용 시 런타임에 "Microsoft.CSharp.RuntimeBinder.RuntimeBinderException" 예외가 발생하는 경우파일 다운로드1
14031정성태10/20/20251440Linux: 128. "USER ..." 설정이 된 Docker 컨테이너의 호스트 측 볼륨 권한 (2)
14030정성태10/20/20251729Linux: 127. "USER ..." 설정이 된 Docker 컨테이너의 호스트 측 볼륨 권한
14029정성태10/17/20252483닷넷: 2372. C# - ssh-ed25519 유형의 Public Key 파일 해석파일 다운로드1
14028정성태10/17/20252644오류 유형: 985. openssh - ssh_host_ed25519_key 파일을 로드하지 못하는 문제
14027정성태10/15/20252505닷넷: 2371. C# - CRC64 (System.IO.Hashing의 약식 버전)파일 다운로드1
14026정성태10/15/20252755닷넷: 2370. 닷넷 지원 정보의 "package-provided" 의미
14025정성태10/14/20252676Linux: 126. eBPF (bpf2go) - tcp_sendmsg 예제
14024정성태10/14/20253226오류 유형: 984. Whisper.net - System.Exception: 'Cannot dispose while processing, please use DisposeAsync instead.'
14023정성태10/12/20253276닷넷: 2369. C# / Whisper 모델 - 동영상의 음성을 인식해 자동으로 SRT 자막 파일을 생성 [1]파일 다운로드1
14022정성태10/10/20253622닷넷: 2368. C# / NAudio - (AI 학습을 위해) 무음 구간을 반영한 오디오 파일 분할파일 다운로드1
14021정성태10/6/20254013닷넷: 2367. C# - Youtube 동영상 다운로드 (YoutubeExplode 패키지) [1]파일 다운로드1
14020정성태10/2/20253368Linux: 125. eBPF - __attribute__((preserve_access_index)) 활용 사례
14019정성태10/1/20253657Linux: 124. eBPF - __sk_buff / sk_buff 구조체
14018정성태9/30/20252712닷넷: 2366. C# - UIAutomationClient를 이용해 시스템 트레이의 아이콘을 열거하는 방법파일 다운로드1
14017정성태9/29/20253206Linux: 123. eBPF (bpf2go) - BPF_PROG_TYPE_SOCKET_FILTER 예제 - SEC("socket")
14016정성태9/28/20253649Linux: 122. eBPF - __attribute__((preserve_access_index)) 사용법
14015정성태9/22/20252832닷넷: 2365. C# - FFMpegCore를 이용한 MP4 동영상으로부터 MP3 음원 추출 예제파일 다운로드1
14014정성태9/17/20253047닷넷: 2364. C# - stun.l.google.com을 사용해 공용 IP 주소와 포트를 알아내는 방법파일 다운로드1
14013정성태9/14/20254238닷넷: 2363. C# - Whisper.NET Library를 이용해 음성을 텍스트로 변환 및 번역하는 예제파일 다운로드1
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...