C# 我该如何修复错误:“quot;currentthread需要将其apartmentstate设置为apartmentstate.sta才能启动Internet Explorer;?
我在C#中有以下代码: 当我尝试用我的网站运行它时,它返回错误: “currentthread需要将其apartmentstate设置为 ApartmentState.sta能够启动Internet Explorer“C# 我该如何修复错误:“quot;currentthread需要将其apartmentstate设置为apartmentstate.sta才能启动Internet Explorer;?,c#,nunit,watin,C#,Nunit,Watin,我在C#中有以下代码: 当我尝试用我的网站运行它时,它返回错误: “currentthread需要将其apartmentstate设置为 ApartmentState.sta能够启动Internet Explorer“ 通常,当使用除SetupFixture之外的任何东西时,都需要为其提供解决方案。但由于某些原因,它现在无法工作。您可以尝试启动一个新线程并设置其ApartmentState: var t = new Thread(new ThreadStart(ToDo)); t.SetApar
通常,当使用除SetupFixture之外的任何东西时,都需要为其提供解决方案。但由于某些原因,它现在无法工作。您可以尝试启动一个新线程并设置其ApartmentState:
var t = new Thread(new ThreadStart(ToDo));
t.SetApartmentState(ApartmentState.STA);
t.Start();
// Run synchronously by waiting for t to finish.
t.Join();
代表:
private void ToDo()
{
// Do something...
}
或内联版本:
var t = new Thread(() =>
{
// Do something...
});
如果包含以下行,则解决方案实际上相当简单:
[assembly: RequiresSTA]
在页面顶部,它会将整个程序集设置为使用STA,并且不再抛出错误
[assembly: RequiresSTA]