Simptome
Invocarea metodei STA COM care are ca rezultat 0x8001010E RPC_E_WRONG_THREAD după instalarea .NET Framework 4.8.
Soluţii
Metoda 1: Variabilă de mediu
Setați următoarea variabilă de mediu:COMPLUS_DisableCCWSupportIAgileObject=1
Această metodă afectează orice mediu care moștenește această variabilă de mediu. Aceasta poate fi doar o sesiune de consolă unică sau poate afecta întregul computer dacă setați variabila de mediu la nivel global. Numele variabilei de mediu nu este sensibil la litere mari și mici.
Metoda 2: Registry
Utilizând Registry Editor (regedit.exe), găsiți oricare dintre următoarele subchei:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Pentru procese pe 32 de biți pe sisteme x64, utilizați:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Apoi adăugați următorul:Nume valoare: DisableCCWSupportIAgileObject Type: DWORD (32-bit) Value (numit și REG_WORD) Valoare: 1
Puteți utiliza instrumentul Windows REG.EXE pentru a adăuga această valoare dintr-un mediu de linie de comandă sau script. De exemplu:
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
În acest caz, HKLM este utilizat în loc de HKEY_LOCAL_MACHINE. Utilizați reg add /? pentru a vedea ajutor despre această sintaxă. Numele valorii de registry nu este sensibil la litere mari și mici.
Mai multe informații
Mai multe informații despre această modificare runtime .NET Framework 4.8 pot fi găsite aici: 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
Se aplică la
Aplicații care rulează pe .NET Framework 4.8 pe versiunile acceptate de Windows.