我有个问题,我不知道怎么解决。
我有两个.rdlc报告,它们有两个不同的模式:
第一:http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition
第二:http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition
要运行第一次报告,我需要在版本Microsoft.ReportViewer.Comon.dll Microsoft.ReportViewer.ProcessingObjectModel.dll Microsoft.ReportViewer.WinForms.dll中使用8.0.0.0
但是当我试图运行第二份报告时,我发现了错误:
详细信息:报表定义的目标名称空间“http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition”无效,无法升级。
因此,我需要.dll和10.0.0.0版本,但是当我将版本从8.0.0.0更改为10.0.0.0时,第一次报告停止工作,因为它需要在版本8.0.0.0中使用Microsoft.ReportViewer.WinForms。
我试着补充:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.ReportViewer.WinForms" publicKeyToken="89845dcd8080cc91" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0" />
</dependentAssembly>
</assemblyBinding>在配置文件中,但是thin不更改任何内容。
有没有办法在一个程序中运行2份此报告?
发布于 2016-04-14 12:49:10
我使用不同的assemblyBinding部分,并且使用ReportViewer 2010显示一个旧的2005年rdlc文件没有问题。
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.ReportViewer.ProcessingObjectModel" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.ReportViewer.Common" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.ReportViewer.WinForms" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="10.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>https://stackoverflow.com/questions/36620018
复制相似问题