设置为单线程单元(STA)模式请确保您的Main函数带有 STAThreadAttribute 标记问题
变味奶茶 2011-08-25 11:39:41 在导入excel文件,调用openfiledialog时候,产生异常:
System.Threading.ThreadStateException: 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。 只有将调试器附加到该进程才会引发此异常。
如何解决啊?
注:ASP.net开发,没有main函数。网上说的解决方案都是基于C# main()的
我在网上搜索了一下,解决的方法是:
Thread th = new Thread(Test);
th.SetApartmentState(ApartmentState.STA);
th.Start();
Protected void Test()
{
}
Test()是具体实现导入的方法吗?但是如果我是按钮事件呢:btnImport_Click(object sender, EventArgs e){}该怎么使用?
我把按钮里面的方法体提取重命名之后使用,还是报同样的错误,该怎么解决?谢谢咯!