线程状态异常c#

线程状态异常c#,c#,multithreading,thread-safety,thread-state,C#,Multithreading,Thread Safety,Thread State,我有一个ThreadStateException,我需要有一个STAThread。。。 问题昨天出现了,我甚至检查了我的git回购协议的早期版本(100%有效)-现在它们没有 主要设备的代码: [STAThread] 静态void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); 运行(newclientlist()); } 和ClientList表单

我有一个ThreadStateException,我需要有一个STAThread。。。 问题昨天出现了,我甚至检查了我的git回购协议的早期版本(100%有效)-现在它们没有

主要设备的代码:

[STAThread]
静态void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
运行(newclientlist());
}
和ClientList表单方法:

private void按钮2\u单击(对象发送者,事件参数e)
{
[...]
OpenFileDialog ofd=新建OpenFileDialog();
DialogResult结果=ofd.ShowDialog();
[...]
}
知道为什么STA不起作用吗

编辑:在新(测试)应用程序中,一切正常。只有此项目在OpenFileDialog上引发异常


编辑2:getAppartmentState显示应用程序从主目录的第一行开始就处于MTA中。[StatThread]被忽略了吗?

可能会有帮助:很好,但我不是在创建自己的线程。它是应用程序的主要条目,我个人不知道除了在单击处理程序的开始处使用[StatThread]验证或记录
System.Threading.Thread.CurrentThread.ApartmentState
之外的其他方法来设置它的单元。根据“”,添加
Thread.SetApartmentState(ApartmentState.STA)
before
OpenFileDalog()。