C# 操作PDFCreator 引發 檢索COM類工廠中CLSID為{}的元件時失敗...
阿新 • • 發佈:2019-02-13
自己一個小型的Winform專案中有使用到PDFCreator虛擬列印,在初始化PDFCreator虛擬印表機模組程式碼中,
private void initPdfPrinter() { try { wisePdfCreator = new PDFCreator.clsPDFCreator(); wisePdfCreatorError = new PDFCreator.clsPDFCreatorError(); wisePdfCreator.eError += new PDFCreator.__clsPDFCreator_eErrorEventHandler(wisePdfCreator_eError); wisePdfCreator.eReady += new PDFCreator.__clsPDFCreator_eReadyEventHandler(wisePdfCreator_eReady); } catch (Exception e) { Console.WriteLine(e.Message); } }
出現瞭如下圖所示的問題,
研究了好久後來才發現,問題處在我的專案引用上面,專案中本來是要引用PDFCreator.exe這個COM程式的,之前專案引用沒錯,但是不知那天把這個引用去掉了,而是引用的VS 自動生成的Interop.PDFCreator.dll,引用這個dll檔案,然後編譯專案,VS不會報錯,但是啟動後,執行到上面所示的程式碼塊的時候,就報錯了.
所以最後我將專案中這個VS自動生成的Interop.PDFCreator.dll刪掉,然後引用PDFCreator.exe這個COM元件,重新編譯專案,執行文章開頭那段程式碼無誤.