Симптоми
Извикване на метода STA COM, което води до 0x8001010E RPC_E_WRONG_THREAD след инсталиране на .NET Framework (платформа) 4.8.
Workarounds
Метод 1: Променлива на средата
Задайте следната променлива на средата:COMPLUS_DisableCCWSupportIAgileObject=1
Този метод засяга всяка среда, която наследява тази променлива на средата. Това може да е само една конзолна сесия или може да повлияе на цялата машина, ако глобално зададете променливата на средата. Името на променливата на средата не различава малки и главни букви.
Метод 2: Системен регистър
Като използвате редактора на системния регистър (regedit.exe), намерете един от следните подключове:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
За 32-битови процеси на x64 системи използвайте:
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
Отнася се за
Приложения, работещи на .NET Framework (платформа) 4.8 на поддържани версии на Windows.