I have a very simple report (a blank one actually with a title) that I am trying to export as a pdf file. If I run it from a console app with the same code, then it creates the pdf file correctly. If I try it from within a web page it crashes. Same report works fine in development from a web page, just in production it doesnt work.
Its obviously looking for something, but I cant work out what.
Anyone have any idea what could be missing?
The bin folder for the web app includes Telerik.Reporting.dll, as well as Telerik.ReportViewer.WebForms.dll just in case.
The stack trace is:
Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. |
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.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. |
Source Error: |
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. |
Stack Trace: |
[ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.] |
System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark) +0 |
System.Reflection.Assembly.GetTypes() +105 |
Telerik.Reporting.Processing.Expressions.NameSpaceResolver.Resolve(Assembly assembly) +14 |
Telerik.Reporting.Processing.Expressions.ExpressionContext.ResolveNameSpaces() +97 |
Telerik.Reporting.Processing.Expressions.ExpressionContext..ctor(Type methodInfoSourceType) +159 |
Telerik.Reporting.Processing.ReportProcessor.ProcessReport(IReportDocument reportDocument, String& documentName) +67 |
Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, IReportDocument reportDocument, Hashtable deviceInfo, CreateStream createStreamCallback, String& documentName) +263 |
Telerik.Reporting.Processing.ReportProcessor.RenderReport(String format, IReportDocument reportDocument, Hashtable deviceInfo) +108 |
CCConnect.TestPage.TestButton_Click(Object sender, EventArgs e) +197 |
System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111 |
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79 |
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 |
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 |
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175 |
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565 |
-------------------------------------------------------------------------------- |
Version Information: Microsoft .NET Framework Version:2.0.50727.3053; ASP.NET Version:2.0.50727.3053 |
The simple code is:
protected void TestButton_Click(object sender, EventArgs e) |
{ |
TestReport r = new TestReport(); |
Hashtable deviceInfo = new Hashtable(); |
deviceInfo["FontEmbedding"] = "Subset"; |
Telerik.Reporting.Processing.ReportProcessor RP = new Telerik.Reporting.Processing.ReportProcessor(); |
byte[] buffer = RP.RenderReport("PDF", r, deviceInfo).DocumentBytes; |
string myPath = Properties.Settings.Default.MerchantRequestLocalPath; |
string pdfFile = myPath + @"\" + DateTime.Now.ToString("HHmmss") + ".pdf"; |
FileStream fs = new FileStream(pdfFile, FileMode.Create); |
fs.Write(buffer, 0, buffer.Length); |
fs.Flush(); |
fs.Close(); |