开发工具从VS2010升级到VS2012,Report Viewer 版本也从V10.0到V11.O,本机开发运行没有问题,发布到服务器上时会出现一些问题;
第一步、删除服务器上的Report ViewerV10.0;
第二步、下载SQLSysClrTypes_x86.msi,安装;
第三步、下载Report ViewerV11.0(它有另外一个名字:MICROSOFT REPORT VIEWER 2012 RUNTIME),安装;
第四步、更改web.config 中的配置:
- <system.web>
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
validate="false" />
</httpHandlers>
2. <add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
<add assembly="Microsoft.ReportViewer.Common, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
3.<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</buildProviders> 4.<system.webServer xmlns="">
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
第五步、可能遇到的问题:
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。
编译器错误消息: CS0433:
类型“Microsoft.Reporting.WebForms.LocalReport”同时存在于“c:\Windows
\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET
Files\food\fecff29a\9e23a822\assembly\dl3\a2b99856\f96b809a_7858d001
\Microsoft.ReportViewer.WebForms.DLL”和“c:\Windows\assembly\GAC_MSIL
\Microsoft.ReportViewer.WebForms\11.0.0.0__89845dcd8080cc91
\Microsoft.ReportViewer.WebForms.DLL”中
解决方法是:把发布目录中的bin文件夹中的文件全部删掉,重新发布以下!