프로그램

C# - following error: 80040154 - Visual Studio 에서 64bit (x64) 로 컴파일 하는 방법.

(주)CKBcorp., 2012. 3. 10. 14:49
반응형

TTS 프로그램을 만들어 보려는데, 아래와 같은 에러 메시지에 봉착했다.

Retrieving the COM class factory for component with CLSID {D941651C-44E6-4C17-BADF-C36826FC3424} failed due to the following error: 80040154 클래스가 등록되지 않았습니다. (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
80040154 클래스가 등록되지 않았습니다. (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).


앞뒤를 말하자면, 영어 이외의 TTS 프로그램은 MS의 별도의 SDK를 깔아야 하는데, 해당 SDK 를 설치한 후 프로그램을 컴파일 해서 실행하니, 위의 에러가 발생한 것이다.

내용만 보면 SDK의 설치가 잘봇 된 것 같아서, 라이브러리 재설치도 해 보고, Visual Studio 를 종료시켰다 다시 실해해도 보고, 프로젝트를 다시 생성해 보기도 했는데,
계속 같은 에러가 났다.

이상하다 싶어서 구글신께 여쭈니, 이런 계시를 내려 주신다. 

http://blog.naver.com/PostView.nhn?blogId=mankeys&logNo=144313787 
http://onlybalance.pe.kr/xe/?mid=tech&listStyle=gallery&sort_index=readed_count&order_type=desc&category=224&document_srl=2353 

요점만 정리하면, 내가 x64 환경이라고 SDK도 x64로 깔았는데, Visual Studio 의 컴파일 설정은 x86 으로 되어 있고, 그때문에 "파일접근에러" 를 낸 거다. 

해결책은 2가지인데,

1. 32bit 용 SDK를 설치해서 깔던가, 
2. 컴파일 자체를 64bit 용으로 하는 것

이다.
원래 배포용이라면 1번이 맞을 것 같긴 한데... 나는 일단 테스트가 먼저라, 2번으로 해결했다. Visual Studio 컴파일을 64bit 로 하는 방법은 ... 그림 보자.



메뉴에서 "Build > Configuration Manager" 를 선택하면 위의 화면이 나오는데, Platform 이 "x86" 으로 되어 있다. 이걸 "x64" 로 바꾸어 주면 됨.


 

반응형