У нас есть проект ASP.NET в c # (Visual Studio 2015). В рамках приложения мы включили несколько стандартных отчетов Crystal Reports, разработанных в плагине Crystal для VS 2015. На локальном компьютере разработчика мы можем без проблем запускать отчеты, используя приведенный ниже код.
using CrystalDecisions.CrystalReports.Engine;
...
ReportDocument report = new ReportDocument();
TableLogOnInfo conInfo = new TableLogOnInfo();
conInfo.ConnectionInfo.UserID = Global.Config.GetValue("USERID");
conInfo.ConnectionInfo.Password = Global.Config.GetValue("PASSWORD");
conInfo.ConnectionInfo.DatabaseName = Global.Config.GetValue("DATABASENAME");
conInfo.ConnectionInfo.ServerName = Global.Config.GetValue("DATASOURCE");
report.Load(reportPath + name);
for (int i = 0; i < report.Database.Tables.Count; i++)
{
report.Database.Tables[i].ApplyLogOnInfo(conInfo);
}
return new FileStreamResult(report.ExportToStream(ExportFormatType.PortableDocFormat), "application/pdf");
Но при развертывании на IIS Server на компьютере под управлением Windows 2008 Server r2 мы получаем ошибку при создании экземпляра объекта ReportDocument:
at CrystalDecisions.Shared.SharedUtils..cctor() :
Could not load file or assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified.
Все библиотеки CrystalDecisions. *. Включены в опубликованное приложение. Я дергаю себя за волосы, пытаясь понять, что не так.
Для ясности, мы не используем Crystal Viewer. Мы просто пытаемся запустить отчет (* .rpt) и вывести его в поток файлов PDF.