尝试显示特定报告时出现此错误(在Application EventLog中):
异常消息:基类包含字段' reportViewer',但其类型(Microsoft.Reporting.WebForms.ReportViewer)与控件类型不兼容(Microsoft.Reporting.WebForms.ReportViewer)
我们在CRM的web.config中有这个:
<httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
</httpHandlers>
...
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
&#13;
我们在某些机器上看到了错误,但其他机器却没有。
此CRM计算机已安装Microsoft Report Viewer 2010 Redistributable Package
。正如我在标题中所提到的,我们有CRM 2011,UR 18。
我们需要在此处安装不同版本的报告视图吗?
答案 0 :(得分:0)
我们能够解决这个问题。我们必须将Microsoft Report Viewer 2012 Runtime安装到CRM Web服务器https://www.microsoft.com/en-us/download/details.aspx?id=35747上。
Microsoft修改了v2012的PublicKeyToken(版本11.0.0.0),因此生成的web.config编辑也不仅仅是版本更改。
结果正确的CRMWeb web.config(适用于CRM 2011)是:
<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>
<compilation defaultLanguage="C#" debug="false">
<assemblies>
<add assembly="Microsoft.Crm, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Crm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.Crm.Platform.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<add assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
<add assembly="Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>