我遇到了问题,我不知道要解决它。
我有2个.rdlc
报告,其中包含2个不同的架构:
第一:
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
的{{1}},但当我将版本从10.0.0.0
更改为8.0.0.0
时,首先报告停止工作,因为版本{需要10.0.0.0
{1}}。
我尝试添加:
Microsoft.ReportViewer.WinForms
在配置文件中,但是不要改变任何东西。
有没有办法在一个程序中运行此报告2?
答案 0 :(得分:0)
我使用了不同的assemblyBinding
部分,使用rdlc
显示旧的ReportViewer 2010
文件没有问题:
<?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>