Microsoft MVP성태의 닷넷 이야기
.NET Framework: 6. Win2000에서의 .NET COM+ 자동 등록 오류 발생 해결 [링크 복사], [링크+제목 복사],
조회: 22027
글쓴 사람
정성태 (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

비밀번호

댓글 작성자
 




... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...
NoWriterDateCnt.TitleFile(s)
13189정성태12/9/202216909오류 유형: 831. Visual Studio - Windows Forms 디자이너의 도구 상자에 컨트롤이 보이지 않는 문제
13188정성태12/9/202215388.NET Framework: 2075. C# - 직접 만들어 보는 TaskScheduler 실습 (SingleThreadTaskScheduler)파일 다운로드1
13187정성태12/8/202215363개발 환경 구성: 654. openssl - CA로부터 인증받은 새로운 인증서를 생성하는 방법 (2)
13186정성태12/6/202213129오류 유형: 831. The framework 'Microsoft.AspNetCore.App', version '...' was not found.
13185정성태12/6/202214078개발 환경 구성: 653. Windows 환경에서의 Hello World x64 어셈블리 예제 (NASM 버전)
13184정성태12/5/202212649개발 환경 구성: 652. ml64.exe와 link.exe x64 실행 환경 구성 [1]
13183정성태12/4/202212475오류 유형: 830. MASM + CRT 함수를 사용하는 경우 발생하는 컴파일 오류 정리 [1]
13182정성태12/4/202214285Windows: 217. Windows 환경에서의 Hello World x64 어셈블리 예제 (MASM 버전)
13181정성태12/3/202212798Linux: 54. 리눅스/WSL - hello world 어셈블리 코드 x86/x64 (nasm)
13180정성태12/2/202213611.NET Framework: 2074. C# - 스택 메모리에 대한 여유 공간 확인하는 방법파일 다운로드1
13179정성태12/2/202212328Windows: 216. Windows 11 - 22H2 업데이트 이후 Terminal 대신 cmd 창이 뜨는 경우
13178정성태12/1/202213424Windows: 215. Win32 API 금지된 함수 - IsBadXxxPtr 유의 함수들이 안전하지 않은 이유파일 다운로드1
13177정성태11/30/202213998오류 유형: 829. uwsgi 설치 시 fatal error: Python.h: No such file or directory
13176정성태11/29/202211542오류 유형: 828. gunicorn - ModuleNotFoundError: No module named 'flask'
13175정성태11/29/202215836오류 유형: 827. Python - ImportError: cannot import name 'html5lib' from 'pip._vendor'
13174정성태11/28/202212544.NET Framework: 2073. C# - VMMap처럼 스택 메모리의 reserve/guard/commit 상태 출력파일 다운로드1
13173정성태11/27/202213471.NET Framework: 2072. 닷넷 응용 프로그램의 스레드 스택 크기 변경
13172정성태11/25/202212984.NET Framework: 2071. 닷넷에서 ESP/RSP 레지스터 값을 구하는 방법파일 다운로드1
13171정성태11/25/202212506Windows: 214. 윈도우 - 스레드 스택의 "red zone"
13170정성태11/24/202213420Windows: 213. 윈도우 - 싱글 스레드는 컨텍스트 스위칭이 없을까요?
13169정성태11/23/202214711Windows: 212. 윈도우의 Protected Process (Light) 보안 [1]파일 다운로드2
13168정성태11/22/202212606제니퍼 .NET: 31. 제니퍼 닷넷 적용 사례 (9) - DB 서비스에 부하가 걸렸다?!
13167정성태11/21/202213064.NET Framework: 2070. .NET 7 - Console.ReadKey와 리눅스의 터미널 타입
13166정성태11/20/202213016개발 환경 구성: 651. Windows 사용자 경험으로 WSL 환경에 dotnet 런타임/SDK 설치 방법
13165정성태11/18/202212013개발 환경 구성: 650. Azure - "scm" 프로세스와 엮인 서비스 모음
13164정성태11/18/202213943개발 환경 구성: 649. Azure - 비주얼 스튜디오를 이용한 AppService 원격 디버그 방법
... 16  17  18  19  20  21  22  23  24  25  26  27  28  29  [30]  ...