Belirtiler
.NET FRAMEWORK 4.8 yüklendikten sonra 0x8001010E RPC_E_WRONG_THREAD neden olan STA COM yöntemi çağırma.
Geçi -ci çözüm
Yöntem 1: Ortam değişkeni
Aşağıdaki ortam değişkenini ayarlayın:COMPLUS_DisableCCWSupportIAgileObject=1
Bu yöntem, bu ortam değişkenini devralan tüm ortamları etkiler. Bu yalnızca tek bir konsol oturumu olabilir veya ortam değişkenini genel olarak ayarlarsanız makinenin tamamını etkileyebilir. Ortam değişkeni adı büyük/küçük harfe duyarlı değildir.
Yöntem 2: Kayıt Defteri
Kayıt Defteri Düzenleyicisi'ni (regedit.exe) kullanarak aşağıdaki alt anahtarlardan birini bulun:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework
HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework
x64 sistemlerindeki 32 bit işlemler için şunları kullanın:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework
Ardından şu değeri ekleyin:Değer adı: DisableCCWSupportIAgileObject Türü: DWORD (32 bit) Değer (REG_WORD olarak da adlandırılır) Değer: 1
Bu değeri bir komut satırı veya betik ortamından eklemek için Windows REG.EXE aracını kullanabilirsiniz. Örneğin:
reg add HKLM\SOFTWARE\Microsoft\. NETFramework /v DisableCCWSupportIAgileObject /t REG_DWORD /d 1
Bu durumda, HKEY_LOCAL_MACHINE yerine HKLM kullanılır. Reg add /? kullan bu söz dizimi hakkında yardım almak için. Kayıt defteri değer adı büyük/küçük harfe duyarlı değil.
Ek Bilgi
Bu .NET Framework 4.8 çalışma zamanı değişikliği hakkında daha fazla bilgiyi burada bulabilirsiniz: 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
Şunun için geçerlidir:
Desteklenen Windows sürümlerinde .NET Framework 4.8 üzerinde çalışan uygulamalar.