2010-07-06 2 views

답변

4

당신은 당신이 예외 메시지에서 할 말을하는지 수행해야합니다

은 주요 기능은 STAThreadAttribute가에 표시 이 있는지 확인합니다.

[STAThread] 
static void Main() 
{ 
    // Code to run the application 
} 

이 뒤에 그 이유는 Windows가 단일 스레드 아파트에서 실행되도록 표시되지 않은 스레드에서 실행되는 것을 지원하지 않습니다 Forms 응용 프로그램이다하고이 속성을 생략하면 응용 프로그램이 다중 스레드 아파트를 사용 모델.

업데이트 : 이미 속성 응용 프로그램의 진입 점을 표시하고 이것은 당신이 OLE는 다중 스레드 아파트에서 호출을 실행하는 스레드를 만드는 응용 프로그램에서 어딘가에 다음 문제가 해결되지 않으면

. 우선 먼저 이러한 위치를 찾아 내고 질문을 사용 시나리오로 업데이트하여 도움을 받으십시오. 또한 주 스레드가 아닌 다른 스레드에서 컨트롤을 만들거나 상호 작용하지 않는지 확인하십시오.

+0

이미 threadAttribute가 있습니다. 심지어는 Single로 해당 스레드의 ApartmentState를 설정합니다. – karthik

+0

'ApartmentState' 속성은 쓸모 없기 때문에 사용해서는 안되며 대신 문제의 스레드를 시작하기 전에'SetApartmentState' 메서드를 사용하십시오. –

2

열기 Program.cs 및 무효 메인 전에 라인()에 [STAThread] 추가

[STAThread] 
static void Main() 
관련 문제