Windows下Rider调试Avalonia项目遇CLR加载回调E_FAIL错误
Rider调试AvaloniaUI/.NET 8项目失败(COM组件E_FAIL错误)
问题情况
- 系统环境:Windows 11,Rider 2024.1.3(Build #RD-241.17011.166)
- 项目技术栈:AvaloniaUI + C# + .NET 8.0.302
- 核心现象:项目可正常构建并启动,但无法在Rider中调试;同一机器上同技术栈的其他解决方案在Rider中调试完全正常,该项目在VS2022中可正常调试,此前在Rider中开发无异常
已尝试的无效操作
- 卸载重装Rider
- 以管理员身份运行Rider
- 删除所有DotSettings文件和.idea目录后重启
报错信息
One or more errors occurred. (One or more errors occurred. (CLR load callback is already in error state. Error HRESULT E_FAIL has been returned from a call to a COM component. The error code is E_FAIL, or EFail, or 0x80004005.))
根源与解决方法
问题根源是项目启用了单文件发布配置,该配置会导致Rider调试器出现COM组件调用问题。解决方法是修改项目文件中的对应配置:
将原本的:
<PublishSingleFile>true</PublishSingleFile> <!-- breaks debugger -->
修改为:
<PublishSingleFile>false</PublishSingleFile> <!-- 恢复调试功能 -->
内容的提问来源于stack exchange,提问作者Jammer
相关产品推荐
相关产品推荐

