天天看点

在web 项目使用了ReportViewer时出错

我在web 项目使用了ReportViewer 呈现报表,在本机开发环境下,报表显示一切正常,当我把程序部署到别的机器上时,出错如下:

“/WebReport”应用程序中的服务器错误。 配置错误 <b>说明: </b>在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 

<b>分析器错误信息: </b>未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。

<b>源错误:</b> 

行 17:         &lt;compilation debug="true"&gt;            行 18:             &lt;assemblies&gt;            行 19:                 &lt;add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /&gt;            行 20:                 &lt;add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /&gt;            行 21:             &lt;/assemblies&gt;

<b>源文件: </b>C:\inetpub\wwwroot\WebReport\web.config<b>    行: </b>19 

<b>程序集加载跟踪:</b> 下列信息有助于确定程序集“Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”无法加载的原因。

警告: 程序集绑定日志记录被关闭。            要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。            注意: 会有一些与程序集绑定失败日志记录关联的性能损失。            要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。            

<b>版本信息:</b> 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) ReportViewer.exe

3) Microsoft.ReportViewer.WebForms.dll

ReportViewer.exe在有VS的机器上的位置:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ReportViewer

     本文转自fengyp 51CTO博客,原文链接:http://blog.51cto.com/fengyp/51810,如需转载请自行联系原作者