Отчет RDLC перестает работать после изменения Visual Studio 2015 на Visual Studio 2017

У меня есть проект AspNet MVC в Visual Studio 2017, который ранее разрабатывался в Visual Studio 2015. Этот проект содержит много файлов rdlc, которые работали нормально, пока я не отредактировал один из них. Теперь, когда я пытаюсь скачать pdf из отредактированного rdlc, я получаю эту ошибку:

Определение этого отчета недопустимо или не поддерживается данной версией служб Reporting Services. Определение отчета может быть создано в более поздней версии служб Reporting Services или содержать контент, который не является правильно сформированным или недопустимым на основе схем служб Reporting Services. Подробности. Определение отчета содержит недопустимое целевое пространство имен " http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition", которое не может быть обновлено.

Отредактированный rdlc меняет свое пространство имен с http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition на http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition

Проект работает с сетевым каркасом 4.6.2 и установил пакеты nuget Microsoft.ReportViewer.Runtime.Common.12.0.2402.15 и Microsoft.ReportViewer.Runtime.WebForms.12.0.2402.15

3 ответа

Решение

У меня была та же проблема, и я решил ее, удалив пакеты nuget Microsoft.ReportViewer.Runtime.Common и Microsoft.ReportViewer.Runtime.WebForms и установив пакет Microsoft.ReportingServices.ReportViewerControl.WebForms.140.340.80. Я хотел бы подчеркнуть, что мне пришлось добавить ссылку на System.Windows.Forms, потому что есть зависимость в классе ReportDataSource что я использую для отображения моих отчетов

Я ответил на это, когда эта ошибка возникает для пользователей, обновляющихся до Visual Studio 2019 здесь; /questions/60715525/kak-ispravit-oshibku-sredstva-prosmotra-otchetov-v-visual-studio-2019/64894909#64894909

Я щелкнул правой кнопкой мыши по файлу rdlc в обозревателе решений и выбрал замену с сервера, и это устранило проблему для меня. Я думаю, что vs 2017 пытается обновить схему, чтобы использовать другую версию сервера SQL, и получение исходного определения отчета исправляет это. Может быть, я не знаю, но у меня это сработало.

Другие вопросы по тегам