I am developing a web application project in Visual Studio 2010. It is published to a Windows 2008 server.
I have added references to:
CrystalDecisions.CrystalReports.Engine
CrystalDecisions.Shared
CrystalDecisions.Web
And added CrystalReportViewer to a .aspx page.
The crystal report files that are to be displayed by the viewer are on the server the application is published to.
If I run the application locally - it works fine and the reports are displayed in the viewer.
If I publish the application to the server, it falls over with a 'log4net' missing assembly message.
Do I need to install something from Crystal Reports on the server?
Yes- you will need to install the relevant Crystal Reports runtimes/redistributes;
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
Should have what you need.
If you get trouble with versions try fixing by adding this to your app/web .config:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/>
<bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
</dependentAssembly>
<dependentAssembly>
...
</assemblyBinding>
</runtime>