Symptomy
Wywołanie metody STA COM powodujące 0x8001010E RPC_E_WRONG_THREAD po zainstalowaniu .NET Framework 4.8.
Obejścia
Metoda 1. Zmienna środowiskowa
Ustawianie następującej zmiennej środowiskowej:COMPLUS_DisableCCWSupportIAgileObject=1
Ta metoda wpływa na każde środowisko dziedziczące tę zmienną środowiskową. Może to być tylko jedna sesja konsoli lub może mieć wpływ na cały komputer, jeśli ustawisz zmienną środowiskową globalnie. Nazwa zmiennej środowiskowej nie uwzględnia wielkości liter.
Metoda 2. Rejestr
Za pomocą Edytora rejestru (regedit.exe) znajdź jeden z następujących podkluczów:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
W przypadku procesów 32-bitowych w systemach x64 należy użyć:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Następnie dodaj następującą wartość: DisableCCWSupportIAgileObject Typ: DWORD (32-bitowa) Wartość (nazywana również REG_WORD) Wartość: 1
Za pomocą narzędzia Windows REG.EXE można dodać tę wartość ze środowiska wiersza polecenia lub skryptów. Na przyk³ad:
reg dodaj HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
W takim przypadku zamiast HKEY_LOCAL_MACHINE jest używana HKLM. Użyj polecenia reg add /? , aby wyświetlić pomoc dotyczącą tej składni. W nazwie wartości rejestru nie jest uwzględniana wielkość liter.
Więcej informacji
Więcej informacji na temat tej zmiany środowiska wykonawczego .NET Framework 4.8 można znaleźć tutaj: 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
Dotyczy
Aplikacje działające w systemie .NET Framework 4.8 w obsługiwanych wersjach systemu Windows.