2012-01-16 4 views
1

는 준다 .__ ComObject '를 인터페이스 유형'SKYPE4COMLib.Skype '으로 변경하십시오. 다음 오류로 인해 IID '{B1878BFE-53D3-402E-8C86-190B19AF70D5}'인터페이스의 COM 구성 요소에서 QueryInterface 호출이 실패했기 때문에이 작업이 실패했습니다. 해당 인터페이스가 지원되지 않습니다 (HRESULT : 0x80004002 (E_NOINTERFACE 예외)). .

하지만 내 wpf 응용 프로그램에서 동일한 코드 줄을 실행할 때 예외가 발생하지 않습니다. 왜!?


내 콘솔 응용 프로그램은 skype가 업데이트 될 때까지 훌륭하게 실행되고있었습니다. 나는 skype를 제거하고 문제를 해결하기 위해 다시 설치했지만 도움이되지 않았습니다.

답변

0

후 (당신이 실행중인 .NET의 해당 버전의 경우) 오랜 시간 동안 노력했다. 필자는 wpf 애플리케이션을 필요한 참조와 클래스를 추가하여 콘솔 애플리케이션으로 만들 것이라고 결정했다. 그럼 내가 비교해 봤더니 내가 추가하면 :

[System.STAThreadAttribute()] 

주 방법에 그것은 !!!!!

결과로 내 주요 방법은 다음과 같아야합니다.

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace ConsoleApplication3 
{ 

    class Program 
    { 
     [System.STAThreadAttribute()]     
     static void Main(string[] args) 
     { 
      SKYPE4COMLib.Skype oSkype = new SKYPE4COMLib.Skype(); 
     } 
    } 
} 

asp.net의 주요 방법은 없습니다. 잘 아는 사람이 아닙니다. asp.net에서 AspCompat 특성을 true와 같게 추가해야했습니다. 인상적이었다

<%@ Page AspCompat="true" Language="C#" .... etc 
7

클라이언트 프로필을 콘솔 앱으로 사용하지 않으려면 전체 .Net 버전으로 설정하십시오.

당신은 프로젝트 속성으로 이동하여 변경 -> 응용 프로그램 -> 대상 프레임 워크 (드롭 다운) -> 닷넷 프레임 워크 4로 설정

+0

감사 :

그래서 내 asp.net의 영문 페이지가 지금처럼 보인다. –

+0

내 콘솔 응용 프로그램 용으로 수정되었지만 .asp 응용 프로그램 용으로는 수정되지 않았습니다. 내 콘솔 응용 프로그램에서 작동하려고한다면 내 ASP 응용 프로그램에서 작동 할 것이라고 생각했습니다. 1 시간 전 skype가 업데이트 될 때까지 잘 작동했습니다. –