Gejala
Pemanggihan metode STA COM menghasilkan 0x8001010E RPC_E_WRONG_THREAD setelah menginstal .NET Framework 4,8.
Workarounds
Metode 1: Variabel lingkungan
Atur variabel lingkungan berikut:COMPLUS_DisableCCWSupportIAgileObject=1
Metode ini mempengaruhi lingkungan apa pun yang mewarisi variabel lingkungan ini. Ini mungkin hanya sesi konsol tunggal, atau mungkin mempengaruhi seluruh mesin jika Anda mengatur variabel lingkungan secara global. Nama variabel lingkungan tidak peka huruf besar kecil.
Metode 2: Registri
Menggunakan Editor Registri (regedit.exe), temukan salah satu subkey berikut:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
Untuk proses 32-bit pada sistem x64, gunakan:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Lalu tambahkan yang berikut:Nama nilai: DisableCCWSupportIAgileObject Type: Nilai DWORD (32-bit) Nilai (juga disebut REG_WORD): 1
Anda dapat menggunakan alat REG.EXE Windows untuk menambahkan nilai ini dari baris perintah atau lingkungan skrip. Misalnya:
reg tambahkan HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
Dalam hal ini, HKLM digunakan sebagai ganti HKEY_LOCAL_MACHINE. Gunakan reg add /? untuk melihat bantuan pada sintaks ini. Nama nilai registri tidak peka huruf besar kecil.
Informasi Selengkapnya
Informasi selengkapnya tentang perubahan runtime .NET Framework 4.8 ini dapat ditemukan di sini: 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
Berlaku Untuk
Aplikasi yang berjalan di .NET Framework 4.8 pada versi Windows yang didukung.