10

Tôi đang viết một ứng dụng ASP.NET sử dụng SQL Server 2005 với thiết lập SSRS. Tôi muốn sử dụng điều khiển ReportViewer nhưng tôi gặp lỗi khi sử dụng ReportViewer 10 vì nó cần SSRS 2008.Sử dụng điều khiển ReportViewer 9 trong VS 2010

Tôi có thể sử dụng ReportViewer 9 trong ứng dụng của mình như thế nào. Tôi đã thêm một tham chiếu đến các phiên bản Microsoft.ReportViewer.WebForms.dll 9 và loại bỏ các tham chiếu đến phiên bản 10.

đánh dấu của tôi là như sau:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 
<!-- standard markup --> 
<rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer> 

nhưng khi tôi cố gắng chạy tôi này nhận được lỗi sau:

CS0433: The type 'Microsoft.Reporting.WebForms.ReportViewer' exists in both 'c:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\10.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll' and 'c:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.WebForms\9.0.0.0__b03f5f7f11d50a3a\Microsoft.ReportViewer.WebForms.dll'

Tôi đã bỏ lỡ điều gì !?

Cập nhật: Khi cố gắng sử dụng ReportViewer 10 tôi nhận được lỗi sau:

"Remote report processing requires Microsoft SQL Server 2008 Reporting Services or later."

Trả lời

13

đặn nó ra, quên để thay đổi tài liệu tham khảo 3 trong file web.config:

trong vòng HttpHandler:

<add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 

và trong các cụm:

<add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
<add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> 
+1

Tôi thấy rằng bạn cũng sẽ cần phải chạy ứng dụng ở chế độ Cổ điển (cài đặt nhóm ứng dụng) cho ReportViewer 9.0 để hoạt động. –

+0

cảm ơn điều này đã làm việc hoàn hảo .. –

2

không biết tại sao, nhưng bạn nên thử nếu công trình này: thêm đoạn mã sau vào web.config

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="Microsoft.ReportViewer.WebForms" publicKeyToken="b03f5f7f11d50a3a" /> 
    <bindingRedirect oldVersion="9.0.0.0" newVersion="10.0.0.0"/> 
    </dependentAssembly> 
</assemblyBinding> 

trước

</configuration> 

nó làm việc cho tôi

Các vấn đề liên quan