Sintomas
A invocação do método STA COM resulta 0x8001010E RPC_E_WRONG_THREAD após instalar o .NET Framework 4.8.
Sões
Método 1: variável de ambiente
Definir a seguinte variável de ambiente:COMPLUS_DisableCCWSupportIAgileObject=1
Este método afeta qualquer ambiente que herda esta variável de ambiente. Esta poderá ser apenas uma sessão da consola ou poderá afetar todo o ambiente se definir globalmente a variável do ambiente. O nome da variável de ambiente não é sensível às caixas.
Método 2: Registo
Através do Editor de Registo regedit.exe, procure uma das seguintes subteções:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Para processos de 32 bits em sistemas x64, utilize:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Em seguida, adicione o seguinte:Nome do valor: DisableCCWSupportIAgileObject Type: DWORD (32 bits) Valor (também denominado REG_WORD) Valor: 1
Pode utilizar a ferramenta Windows REG.EXE Windows para adicionar este valor a partir de um ambiente de script ou linha de comandos. Por exemplo:
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
Neste caso, é utilizado HKLM em vez de HKEY_LOCAL_MACHINE. Utilizar reg add /? para ver ajuda sobre esta sintaxe. O nome do valor de registo não é sensível às casos.
Mais Informações
Mais informações sobre esta .NET Framework alteração de tempo de tempo de 4.8 pode ser encontrada aqui: 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
Aplica-se A
Aplicações em execução .NET Framework 4.8 em versões suportadas do Windows.