我在web 项目使用了ReportViewer 呈现报表,在本机开发环境下,报表显示一切正常,当我把程序部署到别的机器上时,出错如下:“/WebReport”应用程序中的服务器错误。 配置错误
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。源错误: 行 17: <compilation debug="true">
行 18: <assemblies>
行 19: <add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
行 20: <add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
行 21: </assemblies>
源文件: C:\inetpub\wwwroot\WebReport\web.config
行: 19 程序集加载跟踪: 下列信息有助于确定程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”无法加载的原因。
警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为
1。 注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.210
那是因为发布程序没配好,bin目录下没有找到相应的dll。
解决办法就是把:虚拟目录下的 所有dll 到拷贝到bin目录下。bin目录下一定要有以下3个文件。 1) Microsoft.ReportViewer.Common.dll 2) Microsoft.ReportViewer.ProcessingObjectModel.dll 3) Microsoft.ReportViewer.WebForms.dll
以上3个dll可以在.NET安装文件中找到(默认在 路径\Microsoft Visual Studio 8\ReportViewer).
也可以添加对Microsoft.ReportViewer.WebForms.dll的引用