Использование элемента управления ReportViewer 9 в VS 2010 - PullRequest
10 голосов
/ 10 июня 2010

Я пишу приложение ASP.NET, которое использует SQL Server 2005 с настройкой SSRS. Я хочу использовать элемент управления ReportViewer, но получаю сообщение об ошибке при использовании ReportViewer 10, поскольку для него требуется SSRS 2008.

Как я могу использовать ReportViewer 9 в моем приложении. Я добавил ссылку на версию 9 Microsoft.ReportViewer.WebForms.dll и удалил ссылку на версию 10.

Моя разметка выглядит следующим образом:

<%@ 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>

но когда я пытаюсь запустить это, я получаю следующую ошибку:

CS0433: тип 'Microsoft.Reporting.WebForms.ReportViewer' существует в обоих 'C: \ WINDOWS \ сборка \ GAC_MSIL \ Microsoft.ReportViewer.WebForms \ 10.0.0.0__b03f5f7f11d50a3a \ Microsoft.ReportViewer.WebForms.dll' а также 'C: \ WINDOWS \ Assembly \ GAC_MSIL \ Microsoft.ReportViewer.WebForms \ 9.0.0.0__b03f5f7f11d50a3a \ Microsoft.ReportViewer.WebForms.dll'

Что я пропустил!?

Обновление: При попытке использовать ReportViewer 10 я получаю следующую ошибку:

"Требуется удаленная обработка отчетов Отчеты по Microsoft SQL Server 2008 Услуги или позже. "

Ответы [ 2 ]

13 голосов
/ 10 июня 2010

Разобрался, забыл изменить 3 ссылки в файле web.config:

в HttpHandler:

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

и в сборках:

<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" />
2 голосов
/ 06 мая 2011

не знаю почему, но вы должны попробовать, если это работает: добавьте следующий код в 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>

до

</configuration>

у меня это сработало

...