其他信息:在可以调用OLE之前,必须将当前线程设置为单线程单元(STA)模式

今天通过C#编写Winform程序代码时遇到 其他信息:在可以调用OLE之前,必须将当前线程设置为单线程单元(STA)模式 这个错误,如下:


之前都没有遇到过!一开始怀疑是我的VS编译器有问题,但是设置又都没有改过!因为程序本身有调用到C++的dll,但是这里根本就没有调用到,而且出错的地方也没有调用,排除了它的影响!于是就百度了,有查到相关的信息,但是根据上面的提示都没有解决!于是我重新在SVN上check out 了一份代码下面,重新编译后,发现打开这个文件对话框的时候没有报错,于是就把程序需要的dll ,从原来的Release目录中拷贝过来,结果发现全部拷贝过来之后运行的时候又报这个错误!那么可以肯定问题是出在这些dll上,于是用单个排除法!最后发现是受了本程序生成的dll影响(因为本程序需要生成dll供同事调用,之前生成复制给同事的,没有删除掉),如下:


后面把删除掉之后,调试就正常了!(但是不影响生成的Winform程序,生成后的Winform可以正常使用的!如果是Release下面有之前的生成的dll,会影响Winform程序的调试的,就是报刚刚那个错误!) 这是个奇怪的问题,望了解其中缘由的大神指教!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值