테스트 모드를 64비트에서 테스트

( 64bit COM+ 테스트시 주의 )


참조 URL
  1. http://msdn.microsoft.com/en-us/library/ee782531.aspx
  2. http://msdn.microsoft.com/en-us/library/jj635153.aspx


 유닛 테스트를 진행하는데 있어서 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를 선택하고 유닛테스트를 진행하면 될 것이다.


+ Recent posts