使用2.RDLC报告使用不同的模式

时间:2016-04-14 10:11:44

标签: c# .net rdlc

我遇到了问题,我不知道要解决它。

我有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?

1 个答案:

答案 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>