테스트 모드를 64비트에서 테스트
( 64bit COM+ 테스트시 주의 )
유닛 테스트를 진행하는데 있어서 COM+ 관련 테스트도 진행을 할 것이다. 그렇지만 유닛 테스트에서 COM+ 인식 부분에서 아래와 같이 '표1'에 해당하는 에러가 발생하고 있다면 구성문제를 짚어봐야 할 것이다.
"System.Runtime.InteropServices.COMException (0x80040154): 80040154 클래스가 등록되지 않았습니다. (예외가 발생한 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) 오류로 인해 CLSID가 {0BFBF355-4966-4341-91C9-D08B8DAE73CC}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다." |
[표1] COMException 메세지
'구성 요소 서비스'에서 정상적으로 COM+를 등록을 시켰는데도 위와 같은 에러가 발생한다면 유닛 테스트를 해 주는 프로세스도 64비트에서 실행해야 한다. 유닛 테스트 모드를 64비트로 수정하면 에러 없이 64비트 COM+을 테스트 할 수 있었다.
COM+ 64 bit + Test Dll ( Any CPU / x64 ) + Unit Test Dll ( Any CPU + x64 ) + Unit Test Machine ( 64 bit mode ) 와 같이 구성이 되어야 정상적으로 테스트가 가능하다. 이제 테스트 모드를 64 bit로 바꾸는 방법을 '그림1'을 통해 알아 보자.
[그림1] Test mode 바꾸기
'그림1'과 같이 Test > Test Settings > Default Processor Architecture > x64를 선택하고 유닛테스트를 진행하면 될 것이다.
'.Net Framework' 카테고리의 다른 글
[C# Code Snippet] Enum을 String에서 변환 하기 - Enum Convert (1) | 2013.05.30 |
---|---|
Zen Coding Visual Studio Plugin (0) | 2013.05.18 |
[JSON] Json.Net - Newtonsoft.Json lowercase keys - 키값을 소문자로 만들기 (0) | 2013.05.10 |
[Async] TaskCompletionSource<T> async example (0) | 2013.05.04 |
[ASP.NET] Ajax Control Toolkit 2013-04-30 release (0) | 2013.05.02 |