Подтвердить что ты не робот

Winforms Не удалось загрузить файл или сборку "Microsoft.ReportDesigner, Version = 10.0.0.0" в VS2012

Это сводит меня с ума. У меня есть сборка приложения winforms в VS2012 для .NET 4.5. В нескольких формах я должен использовать ReportViewer. Сначала я работал с ReportViewer на 2012 год (версия 11.0.0.0). Все работает нормально. Однако мой клиент пока не хочет устанавливать эту версию на своих рабочих станциях, потому что эта версия использует CLR Types SQL 2012. Не спрашивайте меня, почему, но я должен принять это сейчас.

Поэтому я решил использовать предыдущую версию Reportviewer 10.0.0.0. Я скачал пакет распространения и установил его. Я также добавил его в свой набор инструментов в VS2012 и удалил dll-программу просмотра отчетов, на которую уже ссылались в моем проекте. Но когда я перетаскиваю средство просмотра отчетов версии 10 в своей форме, я получаю следующую ошибку:

Не удалось загрузить файл или сборку "Microsoft.ReportDesigner, версия = 10.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a" или одна из ее зависимостей. Расположенное определение манифеста сборки не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)

Приложение работает без ошибок, но у меня нет поддержки во время разработки форм, использующих этот элемент управления ReportViewer, как вы можете видеть на рисунке. Я хотел бы избавиться от ошибки.

enter image description here

Я проверил GAC и не смог найти упомянутый Microsoft.ReportDesigner. Он существует для версий 9.0.0.0 и 11.0.0.0, но не для 10.0.0.0.

В итоге, как я могу использовать ReportViewer версии 10.0.0.0 во время разработки в VS2012 без проблемы ошибки времени разработки?

Framework:.NET 4.5 Тип приложения: winforms Язык: vb.net Visual Studio: версия 2012 Управление: ReportViewer 10.0.0.0 SP 1

PS Я также протестировал элемент управления ReportViewer в VS2010, нет проблем с его использованием во время разработки в VS2010.

[ОБНОВИТЬ]

Точная ошибка при попытке добавить ReportViewer на мою форму в VS2012:

enter image description here

4b9b3361

Ответ 1

У меня была та же проблема. Я смог исправить конструктор VS 2012 со следующим обходным решением. Я сомневаюсь, что это правильный путь, но это помогает, и я пока не нашел ничего лучшего.

  • Закрыть Visual Studio 2012

  • Перейдите в папку C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies и скопируйте все сборки для просмотра отчетов (имена файлов начинаются с "Microsoft.ReportDesigner." и версия 10.0.0.0) в C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies. Резервное копирование, прежде чем делать это.

  • Запустите Visual Studio 2012 и откройте свой проект.

Ответ 2

Решение Alex ошибочно, оно работает, но не правильно.

Простое решение заменяет старый refence текущей версией dll

Я удалил удаленную ссылку Microsoft.ReportViewer.WinForms, а затем добавил ссылку Microsoft.ReportViewer.WinForms, версия которой v11.0.0.0

Надеюсь, что это поможет.

Ответ 3

Alex fix работает, но вы попали в предыдущую версию элемента управления. Чтобы получить v11 контроля над просмотром отчета, закройте проект, если он открыт, затем перейдите к c:\windows\assembly. Скопируйте значение токена открытого ключа для Microsoft.ReportViewer.Common.Resource версии 11.0.0.0. Откройте файл проекта и найдите ссылку на версию ReportViewer версии 10.0.0.0. Измените версию на 11.0.0.0 и открытый ключ на скопированное вами значение, а затем сохраните файл. После того как вы откроете проект, ссылка ReportViewer должна указывать на правильную версию.

Ответ 5

Загрузите DLL в свой сайт.

из этой папки окна (C:\Program Files (x86)\Microsoft Visual Studio 10.0\ReportViewer). я использовал его, и он работает  Microsoft.ReportViewer.Common.dll Microsoft.ReportViewer.WebForms.dll Microsoft.ReportViewer.WinForms.dll

Ответ 6

добавить ссылку со следующим путем: C:\Windows\сборка\GAC_MSIL\Microsoft.ReportViewer.Common\12.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.Common.dll

C:\Program Files (x86)\Microsoft Visual Studio 14.0\ReportViewer\Microsoft.ReportViewer.WinForms.dll