증상
STA COM 메서드 호출은 .NET Framework 4.8을 설치한 후 0x8001010E RPC_E_WRONG_THREAD 발생합니다.
해결 방법
메서드 1: 환경 변수
다음 환경 변수 설정:COMPLUS_DisableCCWSupportIAgileObject=1
이 메서드는 이 환경 변수를 상속하는 모든 환경에 영향을 줍니다. 이는 단일 콘솔 세션일 수도 있고 환경 변수를 전역적으로 설정하는 경우 전체 컴퓨터에 영향을 줄 수 있습니다. 환경 변수 이름은 대/소문자를 구분하지 않습니다.
방법 2: 레지스트리
레지스트리 편집기(regedit.exe)를 사용하여 다음 하위 키 중 하나를 찾습니다.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
x64 시스템의 32비트 프로세스의 경우 다음을 사용합니다.
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
그런 다음, 값 이름: DisableCCWSupportIAgileObject 형식: DWORD(32비트) 값(REG_WORD이라고도 함) 값을 추가합니다. 1
Windows REG.EXE 도구를 사용하여 명령줄 또는 스크립팅 환경에서 이 값을 추가할 수 있습니다. 예는 다음과 같습니다.
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
이 경우 HKLM은 HKEY_LOCAL_MACHINE 대신 사용됩니다. reg add /? 이 구문에 대한 도움말을 보려면 레지스트리 값 이름은 대/소문자를 구분하지 않습니다.
추가 정보
이 .NET Framework 4.8 런타임 변경에 대한 자세한 내용은 https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/runtime/4.7.2-4.8#net-interop-will-now-queryinterface-for-iagileobject-a-winrt-interface
적용 대상
지원되는 Windows 버전에서 .NET Framework 4.8에서 실행되는 애플리케이션.