2017-01-10 4 views
0

Когда я хочу запустить средство просмотра отчетов с помощью Visual Studio, это приведет к следующей ошибке.SSRS - Ошибка компиляции Report Viewer

================================================================================================================================== ====================================== Ошибка компиляции

Описание: Произошла ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса , Ознакомьтесь с приведенными ниже конкретными данными об ошибках и соответствующим образом измените исходный код.

Compiler Error Message: 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\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WebForms.DLL'

Источник ошибки:

[System.Diagnostics.DebuggerNonUserCodeAttribute()] 
     private global::Microsoft.Reporting.WebForms.ReportViewer @__BuildControlReportViewerSummary() { 
      global::Microsoft.Reporting.WebForms.ReportViewer @__ctrl; 

Это означает, что я отсутствует файл .dll ???

спасибо.

ответ

0

Проблема полностью не связана с отсутствующим DLL-файлом, а должна быть связана с тем же самым пространством имен ReportViewer в разных DLL-файлах в одном каталоге (% Windows% \ assembly). Попробуйте следующие решения:

  1. Проверить старую версию ReportViewer в _bin_deployableAssemblies каталоге. Удалите все связанные с ним файлы и используйте ссылки Microsoft.ReportViewer.11.0.

  2. Проверьте дубликаты объявлений Microsoft.ReportViewer.WebForms пространства имен в файле web.config, удалите старый, если существует.

  3. Добавить qualifyAssembly элемент в файле web.config:

    <qualifyAssembly partialName="Microsoft.ReportViewer.WebForms" fullName="Microsoft.ReportViewer.WebForms,version=11.0.0.0,culture=neutral,publicKeyToken=89845dcd8080cc91" /> 
    
  4. Если проблема не устранена, удалите все ссылки, связанные с Microsoft.ReportViewer.WebForms имен, чистый всем раствором (удаление DLL файлов, на которые ссылаются в старую версию), добавить новые ссылки с последней версией, а затем перестроить файл решения. Кроме того, вы можете попытаться удалить/удалить один из конфликтующих DLL-файлов из каталога сборки.

NB: Помните, что обе версии (10,0 & 11.0) имеют разное значение PublicKeyToken свойства, следовательно bindingRedirect трюк в dependentAssembly узел не работает.

Похожие проблемы с CS0433:

C#: The type 'Microsoft.Reporting.WebForms.ReportViewer' exists in both ReportingServicesWebUserInterface.dll and Microsoft.ReportViewer.WebForms.dll

The type 'Microsoft.Reporting.WebForms.ReportViewer' exists in both

Смежные вопросы