2017-11-09 18 views
0

의 인스턴스를 만들 수 없습니다 나는 다음 (매우 간단) 프로그램이 있습니다 열려있는 모든 PCOMM 세션에 연결하고 열려있는 세션의 수를 반환하도록되어이 AutConnList

static void Main(string[] args) 
{ 
    // The program has 'using AutConnListTypeLibrary' in the header 
    AutConnList connections = new AutConnList(); 
    connections.Refresh(); 
    Debug.Print(connections.Count.ToString()); 
} 

를 (그냥 뭔가에 시작합니다). 내가 프로그램을 실행할 때, 나는 코드의 첫 번째 줄에 다음과 같은 런타임 오류가 발생합니다 :

Unable to cast COM object of type 'System.__ComObject' to interface type 'AutConnListTypeLibrary.AutConnList'. This operation failed because the QueryInterface call on the COM component for the interface with IID '{3CB39CC1-6F18-11D0-910D-0004AC3617E1}' failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)).

나는 다음과 같은 참조 (기본 것 외에) 내 프로젝트에 추가 한

: References added to the project

참조가 누락 되었습니까? 아니면 내 코드에 문제가 있습니까? 언급했듯이 런타임 오류입니다. 코드는 잘 컴파일됩니다.

답변

0

이 문제에 대한 간단한 해결책이 있습니다 (이해하기는 쉽지 않지만). [STAThread] 특성을 Main() 메서드에 추가하기 만하면됩니다. 원래 게시물의 코드는 다음과 같아야합니다.

[STAThread] 
static void Main(string[] args) 
{ 
    // The program has 'using AutConnListTypeLibrary' in the header 
    AutConnList connections = new AutConnList(); 
    connections.Refresh(); 
    Debug.Print(connections.Count.ToString()); 
}