Lỗi Crystal Reports khi Build ứng dụng trong Visual Studio

Hôm kia mình được giao đóng gói trang web asp.net để publish, nguyên nhân là trước đó sếp mình nhận thay đổi giao diện, tức là chỉ đụng đến html/css, chứ nào giờ có lập trình đâu, mà ổng cứ nghĩ là làm dc cả trang web :(. Thế là hì hục tải Visual Studio 2017 về (tất nhiên là bản miễn phí community), rồi dùng chức năng Publish Web App, mọi thứ cứ chạy đều cho đến khi xuất hiện 1 loạt thông báo lỗi:

Severity Code Description Project File Line Suppression State
Error Could not load file or assembly ‘CrystalDecisions.Web, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies. The system cannot find the file specified.

Severity Code Description Project File Line Suppression State
Error Could not load file or assembly ‘CrystalDecisions.ReportAppServer.Controllers, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies.

Severity Code Description Project File Line Suppression State
Error Could not load file or assembly ‘CrystalDecisions.CrystalReports.Engine, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies. The system cannot find the file specified.

Severity Code Description Project File Line Suppression State
Error Could not load file or assembly ‘CrystalDecisions.ReportSource, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies.

Severity Code Description Project File Line Suppression State
Error Could not load file or assembly ‘CrystalDecisions.ReportAppServer.XmlSerialize, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies. The system cannot find the file specified.

Severity Code Description Project File Line Suppression State
Error Could not load file or assembly ‘CrystalDecisions.ReportAppServer.ObjectFactory, Version=12.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304’ or one of its dependencies. The system cannot find the file specified.

Severity Code Description Project File Line Suppression State
Error Unknown server tag ‘CR:CrystalReportViewer’.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘CrystalDecisions.ReportAppServer.Controllers.ReportSource’ is not defined.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘CrystalDecisions.Web.CrystalReportViewer’ is not defined.

Severity Code Description Project File Line Suppression State
Error BC30451 ‘CrystalReportViewer1’ is not declared. It may be inaccessible due to its protection level.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘ISCRReportSource’ is not defined.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘CrystalDecisions.ReportAppServer.XmlSerialize.XmlSerializer’ is not defined.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘CrystalDecisions.ReportAppServer.ObjectFactory.ObjectFactory’ is not defined.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘ISCRReportSource’ is not defined.

Severity Code Description Project File Line Suppression State
Error BC30002 Type ‘ISCRReportSource’ is not defined.

Cái lỗi này làm thằng Helpdesk loay hoay cả ngày sục sạo trên google mới fix được. Nguyên nhân là hình như cái source này viết từ đời nào rồi, giờ dùng VS 2017 để build thì phiên bản Crystal Reports ko phù hợp.

Giải pháp là cài Crystal Reports đúng với phiên bản VS 2017:

  • Vào trang https://www.tektutorialshub.com/download-crystal-reports-for-visual-studio/ chọn đúng phiên bản Visual Studio đang sử dụng để download về và cài đặt.
  • Vào file đang bị lỗi (trường hợp của mình là ..\aspnet_client\system_web\4_0_30319\crystalreportviewers13\preview.aspx) đổi lại tên Version mới (như trên 12.0.2000.0 sẽ đổi thành 13.0.3500.0)

Thế là có thể build được rồi 😉

Speak Your Mind

*