2010-08-23 2 views
0

COM 구성 요소 (특히 Redemption)를 사용해야하는 .NET 2.0 프로젝트가 있습니다. Visual Studio 2010에서는 모든 이전 VS 버전 (프로젝트 -> 참조 추가 -> COM 탭 -> 제품 선택 -> 확인) 에서처럼 COM DLL에 대한 참조를 추가합니다. 내가 구축하고 시도하고 나는 다음과 같은 오류가 계속 응용 프로그램을 실행하면 :VS2010 : .NET 2 프로젝트에서 COM 사용하기

Creating an instance of the COM component with CLSID {29AB7A12-B531-450E-8F7A-EA94C2F3C05F} from the IClassFactory failed due to the following error: 80004005.

을이 오류와 함께 무엇인지 알아내는 많은 행운이 없었어요.

나는 이미 프로그램이 실행중인 컴퓨터에 regsvr32.exe를 통해 등록 된 COM dll이 있는지 확인했습니다.

내가 생각할 수있는 유일한 점은 이전 버전보다 COM 구성 요소를 다르게 가져 오는 Visual Studio 2010과 관련이 있다는 것입니다. 이것에 대한 어떤 방향이라도 매우 도움이 될 것입니다.

미리 감사드립니다.

편집 : COM 클래스를 인스턴스화하는 데 사용되는 코드.

RDOSession session = new RDOSessionClass();

+0

COM 개체를 인스턴스화하고 호출하는 데 사용하는 코드를 게시 할 수 있습니까? 또한 COM이 구현 된 dll에 대한 사용 권한을 확인하고 해당 응용 프로그램이 실행중인 계정이 dll에 액세스 할 수 있는지 확인하십시오. – Zippit

+0

@Zippit COM 개체를 인스턴스화 할 때 사용하는 코드가 추가되었습니다. 필자는 IDE가 VS 2005에서 VS2010으로 업그레이드되기 전에이 작업을 수행 한 것과 같은 방식임을 상기하는 것이 중요하다고 생각합니다. 이 앱은 시스템의 로컬 관리자가 된 사용자 컨텍스트에서 실행됩니다. – Adam

답변

1

E_FAIL "지정되지 않은 오류"입니다 그. 그것은 완전히 쓸모없는 오류 코드이지만 COM 서버에는 드문 일이 아닙니다. 프로그래머는 지름길을 택했고 더 나은 오류 코드를 찾을 수 없었고 자신의 코드를 만들고 싶지 않았습니다. interop 라이브러리와 관련이 있다는 것은 의심의 여지가 있습니다. 실제로는 사용하지 않을 것입니다.

아마도 COM 서버에 필요한 설정 일 수 있습니다. 설치 문제 일 수 있습니다. 그러나 이것은 단지 야생적인 추측 일뿐입니다. 궁극적으로이 고비를 넘기 위해서는 구성 요소 공급 업체 나 저자의 도움이 필요할 것입니다.

+0

아, 그게 좋아. 이것은 생각보다 더 많은 도움이되었습니다. 다른 컴퓨터에서 앱을 실행하면 컴퓨터/구성과 관련이있는 것처럼 보입니다. – Adam

관련 문제