我使用水晶报表10 ,我在部署web应用程序后,安装在非开发环境的机器(这台机器安装水晶报表10)运行web程序是出现下面错误:Error :
ErrorName: System.IO.FileNotFoundException
ErrorMessage: File or assembly name ADODB, or one of its dependencies, was not found.
ErrorStackTrace:
at CrystalDecisions.CrystalReports.Engine.ReportDocument.(Object C) at CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataSet dataSet) at STAR.Web.main.CrystalReport.Report.Page_Load(Object sender, EventArgs e) in c:\.netpub\wwwroot\WebSTAR\main\CrystalReport\Report.aspx.cs:line 70 at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain()
我部署时也添加了VC_User_CRT71_RTL_X86_---.msm和VC_User_STL71_RTL_X86_---.msm文件
解决方案:
在你发布的web应用程序中bin目录下添加"C:\Program Files\Microsoft.NET\Primary Interop Assemblies\adodb.dll"文件即可解决.
在外国的关于水晶报表部署网站上有详细的讲解.
这种问题发生在安装的Microsoft .Net Framework 1.1为39.0MB的服务器,如果你的服务器安装Microsoft .Net Framework 1.1为130MB(这种.net框架安装全面包括很多相关的东西)就不会放生这种问题.