当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“e24d8362-0622-4d15-94aa-2e83a6616eac”。

撑起头顶的天 2013-05-28 05:11:32
我是在应用程序中,一个winform中引用了,第三方的DLL库,在初始化InitializeComponent()时,执行到this.axNetVideo1 = new AxNetVideoLib.AxNetVideo();(也就是第三方控件的初始化时)就出现“当前线程不在单线程单元中,因此无法实例化 ActiveX 控件“e24d8362-0622-4d15-94aa-2e83a6616eac”的错误,十分着急,望高手指点。先谢过了!
...全文
225 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
人生导师 2013-05-30
  • 打赏
  • 举报
回复
在你的方法上加上 [STAThread]这个,它的意思是: .NET支持两种线程模型:STA和MTA。 STA(single threaded apartments)。apartment只是一个逻辑上的概念,它可以包含一个或多个线程。一个AppDomain可以包括一个或多个apartment。STA是指该apartment中只能包含一个thread。 MTA(multi threaded apartments)。指该apartment中可以包含多个thread。 STA and MTA 之间最大的区别就是MTA 可以在同一个apartment 中使用所有的共享资源并发执行多个线程。 而多个STA虽然可以共享数据,但是不能并发执行线程,存在性能问题。
撑起头顶的天 2013-05-29
  • 打赏
  • 举报
回复
谢谢,我先试试啊
devmiao 2013-05-28
  • 打赏
  • 举报
回复
在Main()上一行加上 [STAThread]
  • 打赏
  • 举报
回复
将该线程的ApartmentState属性设置为ApartmentState.STA

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧