最近接了一個定時抓資料產生報表的案子,想說應該很容易,沒想到卻因為 Crystal Report 的問題卡關了一整天
症狀是這樣的:服務一啟動就發生 1067 錯誤
看事件檢視器中的錯誤訊息是 System.IO.FileNotFoundException,但是卻不知道是哪個檔案找不到
卡了好幾個小時之後,轉個方向,改成用 Console 程式來產生報表,結果一跑就看到問題發生的原因了,是找不到這個檔案 "C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll"
可是根本就沒有這個目錄,怎麼可能找得到檔案呢?
把這個路徑拿去 google,一搜馬上就有結果了,原來要在 App.config 的 startup 節加上 useLegacyV2RuntimeActivationPolicy="true" 這個屬性。
也就是把
<startup>
改成
<startup useLegacyV2RuntimeActivationPolicy="true">
改好之後,重新建置,執行,果然正常了。
為免遺忘,特記述於此。
沒有留言:
張貼留言