Ознаки
Виклик методу STA COM призводить до 0x8001010E RPC_E_WRONG_THREAD після інсталяції .NET Framework 4.8.
Обхідні
Метод 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 Type: DWORD (32-розрядне) значення (також називається REG_WORD) значення: 1
Це значення можна додати з командного рядка або сценарію за допомогою засобу REG.EXE Windows. Наприклад:
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
У цьому випадку замість HKEY_LOCAL_MACHINE використовується HKLM. Використовувати 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.