0

Наш проект построен на VS 2010, а отчеты построены с SSRS 2005, и в этой среде он работает отлично. Мы пытаемся перейти на SSRS 2012 В период выполнения мы получаем эту ошибкуVS 2010 пропустил «Microsoft.ReportViewer.Common Version = 8.0.0.0» при работе с SSRS 2012

'Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

Я скопировал файл «MicrosoftReportViewerCommon.dll» в папку BIN, но его версия 10.0.x.x. Я не знаю, как найти версию 8.0.0.0.

Я не знаю точно, что мы должны делать. Предполагается ли добавить этот файл в проект? Или ссылки в проекте должны быть изменены для ссылки на другую версию файла? И как это должно быть сделано?

В веб-форме мы имеем следующую строку кода:

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %> 

и в web.config:

<system.web> 
    <httpHandlers> 
    <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
validate="false" /> 
    </httpHandlers> 
...... 
</system.web> 



<system.webServer> 
    <handlers> 
     <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </handlers> 
</system.webServer> 

Любая помощь приветствуется.

ответ

0

После 2 дней поиска в Интернете я выяснил, как преодолеть эту ошибку. Мне пришлось установить ReportViewer 2005, и этот установщик автоматически зарегистрирует «Microsoft.ReportViewer.Common Version = 8.0.0.0» в GAC.

Мне сказали, что это не очень хорошая практика, и это всего лишь обходной путь, потому что проект не работает с использованием самых обновленных элементов управления, и он по-прежнему использует старые.

На данный момент проект работает нормально, но я надеюсь, что какое-то тело предоставит мне реальное решение.

1

У меня была проблема похожа и обнаружил, что мне нужно три файлы:

Microsoft.ReportViewer.Common.dll Microsoft.ReportViewer.ProcessingObjectModel.dll Microsoft.ReportViewer.WebForms.dll

И конфигурационный файл выглядел следующим образом:

<assemblies> 
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> 
    <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" /> 
    </assemblies> 
    <buildProviders> 
    <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </buildProviders>