几天前,我开始在创建的 ac#winform 应用程序中出现错误,说明
CLR 在 60 秒内无法从 COM 上下文 0x278f58 转换到 COM 上下文 0x2790c8。拥有目标上下文/单元的线程很可能要么进行非泵送等待,要么处理非常长时间运行的操作而不泵送 Windows 消息。
当我使用单独的线程运行 exe 进程以避免冻结 ui 时,就会发生这种情况。在发布版本中,该程序运行良好且符合预期,但几乎无法始终如一地调试我的程序(有时工作正常,其他人不太好)..
我尝试通过BackgroundWorker
使用多个谷歌搜索的答案强制 a 同步来实现此过程,这解决了此错误的问题,但使我的程序以意想不到的方式工作(在 exe 完成之前填充的文本框导致错误数据)。
我已经读过这个错误只会发生在生产中而不是发布中。所以我的问题是我应该试着忍受这种烦恼还是他们的非后台解决方案?如果需要任何代码示例,我可以提供,但我认为没有必要