错误 0x8001010E RPC_E_WRONG_THREAD 在 .NET 框架 4.8

症状

在安装 .NET 框架 4.8 后,STA COM 方法调用导致 0x8001010E RPC_E_WRONG_THREAD。

变通办法

方法 1:环境变量

设置以下环境变量:COMPLUS_禁用 CCW 支持IAgileObject_1

此方法影响继承此环境变量的任何环境。这可能只是单个控制台会话,或者如果全局设置环境变量,可能会影响整个计算机。环境变量名称不区分大小写。

方法 2:注册表

使用注册表编辑器 (regedit.exe) 查找以下任一子项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework

HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework

对于 x64 系统上的 32 位进程,请使用:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework

然后添加以下内容:值名称:禁用 CCW 支持IAgile对象类型:DWORD(32 位)值(也称为 REG_WORD)值:1

您可以使用 Windows REG。EXE 工具从命令行或脚本环境中添加此值。例如:

注册添加 HKLM_软件_微软。"NETFramework /v 禁用 CCW 支持I敏捷对象 /t REG_DWORD /d 1

在这种情况下,使用HKLM代替HKEY_LOCAL_MACHINE。使用reg 添加 /?以查看有关此语法的帮助。注册表值名称不区分大小写。

更多信息

有关此 .NET Framework 4.8 运行时更改的详细信息,请参阅此处:https://docs.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 框架 4.8 上运行的应用程序在受支持的 Windows 版本上运行。

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

谢谢您的反馈意见!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×