将CheckForIllegalCrossThreadCalls设置为false以避免debugging期间出现跨线程错误,是否安全?

在WinForms应用程序中,将CheckForIllegalCrossThreadCalls设置为FALSE以避免在debugging期间出现跨线程错误是安全的吗?

CheckForIllegalCrossThreadCalls = false; 

不,这不安全。 检查线程错误的Winforms代码是非常重要的,造成的问题是非常难以诊断的。 最大的问题是,它不会造成一致的失败,你的应用程序将会每月只有一次随机和死锁或崩溃。 或者从来没有,直到你做一个小的改变。 或者只在特定用户的机器上,你会责怪用户而不是你的代码。

CheckForIllegalCrossThreadCalls属性首先存在的唯一原因是为了保持.NET 2.0以及与不执行线程安全testing的错误的.NET 1.x程序兼容。 向后兼容性错误; -P