Crystal reports viewer does not load when asp.net application is deployed to server

asp.netcrystal-reports

On my local build, when I open the page that has the crystal reports viewer – everything loads and looks fine (the crystal reports viewer actually shows up on the page). when I copied this over to the server for the web (and installed the CR framework for the correct version) – the crystal reports viewer does not load when opening the page, so I just get a blank page that says done with nothing loaded. Has anyone else ran into this issue?

edit – after restarting the server i am getting the following error. – error is at line 24

when running on local build still works, code on server is exactly the same, not sure why I am receiving this error. Thanks

Server Error in '/' Application.
    --------------------------------------------------------------------------------

    Retrieving the COM class factory for component with CLSID {4DB2E2BB-78E6-4AEA-BEFB-        FDAAB610FD1B} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E). 
Description: An unhandled exception occurred during the execution of the current web     request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileNotFoundException: Retrieving the COM class factory for component with CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E).

Source Error: 


Line 22:         ReportSourceID="McNeil_source" ToolbarImagesFolderUrl="" ToolPanelWidth="200px" 
Line 23:         Width="2304px" HasRefreshButton="True"></CR:CrystalReportViewer>
Line 24:     <CR:CrystalReportSource ID="McNeil_source" runat="server">
Line 25:         <Report FileName="CrystalReport2.rpt">
Line 26:         </Report>


Source File: C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx    Line: 24 

here is the stack trace

[FileNotFoundException: Retrieving the COM class factory for component with CLSID {4DB2E2BB-78E6-4AEA-BEFB-FDAAB610FD1B} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E).]
   CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor() +193

[TypeInitializationException: The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.]
   CrystalDecisions.CrystalReports.Engine.ReportDocument..ctor() +44
   CrystalDecisions.ReportSource.CachedReport.get_ReportDocument() +39
   CrystalDecisions.Web.CrystalReportSource.set_Report(Report value) +218
   ASP.excel_import_aspx.__BuildControlMcNeil_source() in C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx:24
   ASP.excel_import_aspx.__BuildControlform1() in C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx:16
   ASP.excel_import_aspx.__BuildControlTree(excel_import_aspx __ctrl) in C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx:1
   ASP.excel_import_aspx.FrameworkInitialize() +46
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +54
   System.Web.UI.Page.ProcessRequest() +78
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
   System.Web.UI.Page.ProcessRequest(HttpContext context) +49
   ASP.excel_import_aspx.ProcessRequest(HttpContext context) +37
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75

i removed the 32 bit version, installed the 64 and got a new error, here it is

Server Error in '/' Application.
--------------------------------------------------------------------------------

Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.IO.FileLoadException: Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Source Error: 


Line 18:     
Line 19:     </div>
Line 20:     <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" 
Line 21:         AutoDataBind="True" GroupTreeImagesFolderUrl="" Height="962px" 
Line 22:         ReportSourceID="McNeil_source" ToolbarImagesFolderUrl="" ToolPanelWidth="200px" 


Source File: C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx    Line: 20 

Stack Trace: 


[FileLoadException: Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
   CrystalDecisions.Web.CrystalReportViewer..cctor() +0

[TypeInitializationException: The type initializer for     'CrystalDecisions.Web.CrystalReportViewer' threw an exception.]
   CrystalDecisions.Web.CrystalReportViewer..ctor() +19
   ASP.excel_import_aspx.__BuildControlCrystalReportViewer1() in C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx:20
   ASP.excel_import_aspx.__BuildControlform1() in C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx:16
   ASP.excel_import_aspx.__BuildControlTree(excel_import_aspx __ctrl) in C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\excel import.aspx:1
   ASP.excel_import_aspx.FrameworkInitialize() +46
   System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +54
   System.Web.UI.Page.ProcessRequest() +78
   System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
   System.Web.UI.Page.ProcessRequest(HttpContext context) +49
   ASP.excel_import_aspx.ProcessRequest(HttpContext context) +37
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +100
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET     Version:4.0.30319.1 

I am also recieving this error in other pages on the site

Server Error in '/' Application.

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Could not load file or assembly 'CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.

Source Error: 


Line 34:           debugging ASP.NET files.
Line 35:     -->
Line 36:     <compilation defaultLanguage="vb" debug="true" targetFramework="4.0">    <assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0,     Culture=neutral, PublicKeyToken=692fbea5521e1304"/><add     assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral,     PublicKeyToken=692fbea5521e1304"/><add assembly="CrystalDecisions.Shared,     Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/><add     assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral,     PublicKeyToken=692fbea5521e1304"/><add     assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral,     PublicKeyToken=692fbea5521e1304"/></assemblies></compilation>
Line 37:     <!--  CUSTOM ERROR MESSAGES
Line 38:           Set customErrors mode="On" or "RemoteOnly" to enable custom error     messages, "Off" to disable. 


Source File: C:\Program Files (x86)\CruiseControl.NET\server\iPlan 7 Layer QA\WorkingDirectory\web.config    Line: 36 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET     Version:4.0.30319.1 

Best Solution

This is quite common with Crystal Reports .net deployments. There tend to be differences (sometimes subtle) between the development machine(s) and the production server(s).

First things to check are:

  • Architecture (x86, x64)
  • Crystal Runtime Version

If these don't match you're going to have problems :)