其他信息:在可以調用OLE之前,必須將當前線程設置爲單線程單元(STA)模式

今天通過C#編寫Winform程序代碼時遇到 其他信息:在可以調用OLE之前,必須將當前線程設置爲單線程單元(STA)模式 這個錯誤,如下:


之前都沒有遇到過!一開始懷疑是我的VS編譯器有問題,但是設置又都沒有改過!因爲程序本身有調用到C++的dll,但是這裏根本就沒有調用到,而且出錯的地方也沒有調用,排除了它的影響!於是就百度了,有查到相關的信息,但是根據上面的提示都沒有解決!於是我重新在SVN上check out 了一份代碼下面,重新編譯後,發現打開這個文件對話框的時候沒有報錯,於是就把程序需要的dll ,從原來的Release目錄中拷貝過來,結果發現全部拷貝過來之後運行的時候又報這個錯誤!那麼可以肯定問題是出在這些dll上,於是用單個排除法!最後發現是受了本程序生成的dll影響(因爲本程序需要生成dll供同事調用,之前生成複製給同事的,沒有刪除掉),如下:


後面把刪除掉之後,調試就正常了!(但是不影響生成的Winform程序,生成後的Winform可以正常使用的!如果是Release下面有之前的生成的dll,會影響Winform程序的調試的,就是報剛剛那個錯誤!) 這是個奇怪的問題,望瞭解其中緣由的大神指教!

發佈了32 篇原創文章 · 獲贊 25 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章