Как добавить report в visual studio 2017
Я только начал писать программное обеспечение для отчетности в новой версии визуальной студии с именем visual studio 2017 RC, но только заметил, что основные средства анализа отчетов отсутствуют как из окон, так и из шаблона приложения WPF. Может ли кто-нибудь сказать мне, почему инструмент reportviewer исчез из визуальной студии 2017? На самом деле без проблем. Есть ли альтернатива работе с этим инструментом в новой визуальной студии?
Удаление последней версии и откат к 150.900.148.0 , похоже, работает на нескольких компьютерах, которые я использую с VS2017 и VS2019.
Вы можете вернуться к 150.900.148 в менеджере пакетов решений Nuget. Работает аналогично предыдущим версиям. Используйте раскрывающийся список, чтобы выбрать более старую версию.
Не забудьте перезапустить Visual Studio после изменения записи панели инструментов.
Обновление: 7/7/2019
Была выпущена более новая версия элемента управления ReportViewer, вероятно, совпадающая с Visual Studio 2019. Я работал с V150.1358.0.
Следуя указаниям в этом ответе, вы получаете управление в панели инструментов дизайнера. Но однажды упал на форму, он не отображается. Элемент управления отображается ниже формы как невизуальный компонент.
Это работает так, как разработано в соответствии с поддержкой Microsoft SQL BI. Это группа, ответственная за контроль.
Несмотря на то, что вы по-прежнему не можете напрямую взаимодействовать с элементом управления, эти дополнительные шаги дают обходной путь, поэтому размер элемента управления можно изменить в форме. Хотя теперь это видно, дизайнер обрабатывает элемент управления так, как если бы он не существовал.
Я создал запрос обратной связи по предложению поддержки Microsoft SQL BI. Чтобы привлечь внимание Microsoft, рассмотрите возможность голосования.
- После добавления средства просмотра отчетов в WinForm
- Добавьте элемент управления Panel в WinForm.
В файле form.designer.cs формы добавьте элемент управления Reportviewer на панель.
Вернитесь к конструктору форм, вы должны увидеть ReportViewer на панели
Теперь вы можете позиционировать ReportViewer, фактически взаимодействуя с панелью.
Обновление: Microsoft выпустила документ 18 апреля 2017 года, в котором описывается, как настроить и использовать средство создания отчетов в Visual Studio 2017.
Visual Studio 2017 не имеет инструмента ReportViewer , установленного по умолчанию в панели инструментов. Установка расширения Microsoft Rdlc Report Designer для Visual Studio и добавление его в панель инструментов приводит к невизуальному компоненту, который отображается под формой.
Следующие шаги необходимо выполнить для каждого проекта, для которого требуется ReportViewer .
- Если у вас есть ReportViewer на панели инструментов, удалите его. Выделите, щелкните правой кнопкой мыши и удалите.
- Для этого вам понадобится проект с открытой формой.
Если у вас установлено расширение Microsoft Rdlc Report Designer для Visual Studio, удалите его.Закройте свое решение и перезапустите Visual Studio. Это
решающий шаг, ошибки произойдут, если VS не перезапустится, когда
переключение между решениями.В приглашении PM> введите эту команду, регистр имеет значение.
Вы должны увидеть текст, описывающий установку пакета.
Теперь мы можем временно добавить инструмент ReportViewer в ящик для инструментов.
Щелкните правой кнопкой мыши на панели инструментов и используйте Choose Items.
Нам нужно найти нужную DLL, которая находится в папке solutions Packages , поэтому нажмите кнопку обзора.
В нашем примере мы можем вставить в папку пакеты, как показано в тексте консоли диспетчера пакетов.
Затем дважды щелкните по папке с именем
Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80Номер версии, вероятно, изменится в будущем.
Затем дважды нажмите lib и снова net40 .
Наконец, дважды щелкните файл Microsoft.ReportViewer.WinForms.dll
Вы должны увидеть ReportViewer отмеченным в диалоговом окне. Прокрутите вправо, и вы увидите связанную с ним версию 14.0.0.0.
ReportViewer теперь находится в панели инструментов.
Перетащите инструмент в нужную форму (ы).
После завершения удалите инструмент ReportViewer из ящика для инструментов. Вы не можете использовать его с другим проектом.
Вы можете сохранить проект и все готово.
Если вы добавляете новый проект в то же решение, которое необходимо для создания проекта, сохраните решение, перезапустите Visual Studio, а затем вы сможете добавить ReportViewer в форму. Я видел, что это не работает в первый раз и отображается как невизуальный компонент.
Когда это происходит, удаление компонента из формы, удаление ссылок Microsoft.ReportViewer.* из проекта, сохранение и перезапуск обычно работают.
Обновление: этот ответ работает с Visual Sudio 2017 и 2019
Для меня это сработало в следующие три этапа:
- Обновление Visual Studio до последней сборки.
- Добавление мастера отчетов/отчетов в меню Добавить/новый элемент осуществляется с помощью:
- Переход в меню Visual Studio Инструменты/Расширения и обновления
- Выберите Online на левой панели.
- Найдите Microsoft Rdlc Report Designer для Visual Studio
- Скачайте и установите его.
Добавление элемента управления средства просмотра отчетов с помощью:
Зайдите в диспетчер пакетов NuGet.
Установка Microsoft.ReportingServices.ReportViewerControl.Winforms
Для приложений WebForms:
Добавление элемента управления средства просмотра отчетов с помощью:
Зайдите в диспетчер пакетов NuGet.
Установка Microsoft.ReportingServices.ReportViewerControl.WebForms
Обратите внимание, что эта процедура добавления служб отчетов, описанных выше, будет повторяться каждый раз при запуске другого проекта. Чтобы избежать этого:
Если вам может понадобиться настроить другой компьютер (например, дома без Интернета), тогда держите загруженных инсталляторов с рынка где-то в безопасности, а именно:
- Microsoft.DataTools.ReportingServices.vsix и
- Microsoft.RdlcDesigner.vsix
Извлеките следующие библиотеки из пакетов или папки bin приложения, которое вы создали с помощью служб отчетов:
Установите 2 компонента из 1 выше
Microsoft объясняет шаги в деталях:
Следующие шаги суммируют вышеупомянутую статью.
Добавление элемента управления Report Viewer в новый веб-проект:
Установите пакет NuGet элемента управления Report Viewer через консоль диспетчера пакетов NuGet. Из Visual Studio → Инструменты → Диспетчер пакетов NuGet → Консоль диспетчера пакетов
Добавьте новую страницу .aspx в проект и зарегистрируйте сборку элемента управления Report Viewer для использования на этой странице.
Добавьте ScriptManagerControl на страницу.
Добавьте элемент управления Report Viewer на страницу. Приведенный ниже фрагмент может быть обновлен для ссылки на отчет, размещенный на удаленном сервере отчетов.
Последняя страница должна выглядеть следующим образом.
Если вы похожи на меня и попробовали несколько из этих методов и застряли в том моменте, когда у вас есть элемент управления в наборе инструментов, и вы можете нарисовать его в форме, но он исчезает из формы и помещает его в компоненты, тогда просто отредактируйте конструктор и добавьте следующее в соответствующую область InitializeComponent(), чтобы сделать его видимым:
Вам также нужно будет внести коррективы в расположение и размер вручную после добавления элемента управления.
Конечно, это не очень хороший ответ, но если вы застряли и вам просто нужно закончить работу, пока у вас не будет больше времени, чтобы это выяснить, это должно помочь.
Элементы управления средства просмотра отчетов можно использовать для интеграции отчетов RDL Reporting Services в приложения WebForms и WinForms. Дополнительные сведения о последних обновлениях см. в статье с описанием изменений.
Добавление элемента управления средства просмотра отчетов в новый веб-проект
Установите пакет NuGet элемента управления средства просмотра отчетов с помощью консоли диспетчера пакетов NuGet.
Добавьте в проект новую ASPX-страницу и зарегистрируйте сборку элемента управления средства просмотра отчетов для использования на странице.
Добавьте на страницу ScriptManagerControl.
Добавьте на страницу элемент управления средства просмотра отчетов. Приведенный ниже фрагмент кода можно изменить для ссылки на отчет, размещенный на удаленном сервере отчетов.
Итоговая страница должна иметь следующий вид:
Обновление имеющегося проекта для использования элемента управления средства просмотра отчетов
Обязательно обновите все ссылки на сборки до версии 15.0.0.0, в том числе файл web.config проекта и все ASPX-страницы со ссылками на элемент управления "Средство просмотра".
Пример изменений web.config
Пример ASPX
Добавление элемента управления средства просмотра отчетов в новый веб-проект Windows Forms
Создайте новое приложение Windows Forms или откройте существующий проект.
Установите пакет NuGet элемента управления средства просмотра отчетов с помощью консоли диспетчера пакетов NuGet.
Добавьте новый элемент управления из кода или добавьте элемент управления на панель элементов.
Способы настройки 100 % высоты для элемента управления средства просмотра отчетов
При задании значения 100 % для высоты элемента управления "Средство просмотра" необходимо установить для родительского элемента определенную высоту или настроить для всех предков процентное значение высоты.
Настройка значения высоты на 100 % для всех предков
Настройка атрибута высоты родительского элемента
Дополнительные сведения о размерах окна просмотра в процентах см. в разделе Viewport-percentage lengths (Размеры окна просмотра в процентах).
Добавление элемента управления на панель элементов Visual Studio
Элемент управления средства просмотра отчетов теперь поставляется в виде пакета NuGet и больше не отображается на панели элементов Visual Studio по умолчанию. Вы можете добавить этот элемент управления на панель элементов вручную.
Установите пакет NuGet для WinForms или WebForms, как было упомянуто выше.
Удалите элемент управления средства просмотра отчетов, указанный на панели элементов.
Щелкните правой кнопкой мыши где-либо на панели элементов и выберите пункт Выбрать элементы.
В установленном пакете NuGet выберите Microsoft.ReportViewer.WinForms.dll или Microsoft.ReportViewer.WebForms.dll.
Пакет NuGet будет установлен в каталоге решения. Путь к DLL будет иметь следующий вид: \packages\Microsoft.ReportingServices.ReportViewerControl.Winforms.\lib\net40 или \packages\Microsoft.ReportingServices.ReportViewerControl.WebForms.\lib\net40 .
Новый элемент управления должен появиться на панели элементов. При необходимости его можно переместить на другую вкладку в панели элементов.
Распространенные проблемы
Элемент управления "Средство просмотра" предназначено для современных браузеров. Этот элемент управления может работать некорректно, если браузер отрисовывает страницы в режиме совместимости с IE. При работе на сайтах интрасети может потребоваться метатег для переопределения поведения браузера по умолчанию.
Отзыв на форуме
Если у вас возникли проблемы, сообщите об этом на форумах Reporting Services.
Я только начал писать программное обеспечение для отчетов в новой версии Visual Studio под названием visual studio 2017 RC, но только заметил, что основные инструменты просмотра отчетов отсутствуют как в формах Windows, так и в шаблоне приложения WPF. Может ли кто-нибудь сказать мне, почему инструмент reportviewer исчез из Visual Studio 2017? Реально проблемы без этого. Есть ли альтернатива работе с этим инструментом в новой визуальной студии?
4 ответа
Microsoft выпустила новую версию элемента управления 150.1400.0 в своей библиотеке Nuget. Мое короткое тестирование показывает, что он снова работает в дизайнере форм, в отличие от 150.1357.0 и 150.1358.0 . Это включает в себя возможность изменять размер и изменять задачи ReportViewer в самом элементе управления.
Удаление последней версии и откат к 150.900.148.0 , похоже, работают на нескольких компьютерах, которые я использую с VS2017 и VS2019.
Вы можете выполнить откат до 150.900.148 в диспетчере пакетов решения Nuget. Работает аналогично предыдущим версиям. Используйте раскрывающийся список, чтобы выбрать старую версию.
Не забудьте перезапустить Visual Studio после изменения записи на панели инструментов.
Обновление : 07.08.2019
Выпущена более новая версия элемента управления ReportViewer, вероятно, совпадающая с Visual Studio 2019. Я работал с V150.1358.0.
Следуя указаниям в этом ответе, вы получите управление в панели инструментов дизайнера. Но после того, как он упал в форму, он не отображается. Элемент управления отображается под формой как невизуальный компонент.
Это работает в соответствии с требованиями поддержки Microsoft SQL BI . Это группа, отвечающая за контроль.
Хотя вы по-прежнему не можете взаимодействовать с элементом управления напрямую, эти дополнительные шаги позволяют обходное решение, позволяющее изменить размер элемента управления в форме. Теперь, когда он виден, дизайнер рассматривает элемент управления так, как будто его не существует.
Я создал запрос обратной связи по предложению службы поддержки Microsoft SQL BI. Пожалуйста, подумайте о голосовании, чтобы привлечь внимание Microsoft.
- После добавления средства просмотра отчетов в WinForm
- Добавьте элемент управления панелью в WinForm.
В файле формы form.designer.cs добавьте на панель элемент управления Reportviewer.
Вернитесь в конструктор формы, вы должны увидеть reportViewer на панели
Теперь вы можете позиционировать reportViewer, фактически взаимодействуя с панелью.
Обновление : Microsoft выпустила document от 18 апреля 2017 г., в котором описывается, как настроить и использовать инструмент отчетности в Visual Studio 2017.
В Visual Studio 2017 инструмент ReportViewer не установлен по умолчанию в ToolBox. Установка расширения Microsoft Rdlc Report Designer для Visual Studio и последующее добавление его в ToolBox приводит к появлению невизуального компонента, который отображается под формой.
Служба поддержки Microsoft сообщила мне, что это ошибка, но по состоянию на 21 апреля 2017 года она «работает, как задумано».
Следующие шаги необходимо выполнить для каждого проекта, для которого требуется ReportViewer .
- Если у вас есть ReportViewer на панели инструментов, удалите его. Выделите, щелкните правой кнопкой мыши и удалите.
- Для этого у вас должен быть проект с открытой формой.
Отредактировано 8/7/2019 - Похоже, текущая версия расширения RDLC Report Designer больше не мешает. Это необходимо для фактического редактирования отчетов.
Если у вас установлено расширение Microsoft Rdlc Report Designer для Visual Studio , удалите его.Закройте решение и перезапустите Visual Studio. Это важный шаг, ошибки возникнут, если VS не будет перезапущен, когда переключение между решениями.
В командной строке PM> введите эту команду, регистр имеет значение.
Вы должны увидеть текст, описывающий установку пакета.
Теперь мы можем временно добавить инструмент ReportViewer в набор инструментов.
Щелкните правой кнопкой мыши на панели инструментов и используйте Choose Items.
Нам нужно найти нужную DLL, которая находится в папке решений Packages , поэтому нажмите кнопку обзора.
В нашем примере мы можем вставить папку пакетов, как показано в тексте консоли диспетчера пакетов.
Затем дважды щелкните папку с именем Microsoft.ReportingServices.ReportViewerControl.Winforms.140.340.80
Номер версии, вероятно, изменится в будущем.
Затем дважды щелкните lib и еще раз net40 .
Наконец, дважды щелкните файл Microsoft.ReportViewer.WinForms.dll
Вы должны увидеть ReportViewer в диалоговом окне. Прокрутите вправо, и вы увидите связанную с ним версию 14.0.0.0.
ReportViewer теперь находится в ToolBox.
Перетащите инструмент в желаемую форму (ы).
По завершении удалите инструмент ReportViewer из панели инструментов. Вы не можете использовать его с другим проектом.
Вы можете сохранить проект и все готово.
Не забывайте перезапускать Visual Studio каждый раз, когда вам нужно открыть проект с помощью ReportViewer , чтобы DLL загружалась из правильного места. Если вы попытаетесь открыть решение с помощью формы с ReportViewer без перезапуска, вы увидите ошибки, указывающие, что " The variable 'reportViewer1' is either undeclared or was never assigned. ".
Если вы добавляете новый проект к тому же решению, которое необходимо для создания проекта, сохраняете решение, перезапускаете Visual Studio, и тогда вы сможете добавить ReportViewer в форму. Я увидел, что это не работает в первый раз и проявляется как невизуальный компонент.
Когда это происходит, удаление компонента из формы, удаление ссылок Microsoft.ReportViewer.* из проекта, сохранение и перезапуск обычно работают.
Если вы похожи на меня и пробовали несколько из этих методов и застряли в точке, где у вас есть элемент управления на панели инструментов и вы можете нарисовать его в форме, но он исчезает из формы и помещает его в компоненты, тогда просто отредактируйте конструктор и добавьте следующее в соответствующую область InitializeComponent (), чтобы сделать его видимым:
Вам также необходимо будет вручную отрегулировать расположение и размер после добавления элемента управления.
Точно не лучший ответ, но если вы застряли и вам просто нужно поработать, пока у вас не будет больше времени, чтобы понять это, это должно помочь.
Microsoft подробно объясняет шаги:
Следующие шаги резюмируют приведенную выше статью.
Добавление элемента управления Report Viewer в новый веб-проект:
Установите пакет NuGet для управления просмотром отчетов через консоль диспетчера пакетов NuGet. Из Visual Studio -> Инструменты -> Диспетчер пакетов NuGet -> Консоль диспетчера пакетов
Добавьте в проект новую страницу .aspx и зарегистрируйте сборку элемента управления Report Viewer для использования на странице.
Добавьте на страницу элемент управления ScriptManager.
Добавьте на страницу элемент управления Report Viewer. Приведенный ниже фрагмент можно обновить, чтобы он ссылался на отчет, размещенный на удаленном сервере отчетов.
Последняя страница должна выглядеть следующим образом.
ОБРАТИТЕ ВНИМАНИЕ, что эта процедура добавления служб отчетности, описанная выше @Rich Shealer, будет повторяться каждый раз, когда вы запускаете другой проект. Чтобы этого не произошло:
Если вам может потребоваться настроить другой компьютер (например, дома без Интернета), храните загруженные установщики с торговой площадки в безопасном месте, например:
- Microsoft.DataTools.ReportingServices.vsix и
- Microsoft.RdlcDesigner.vsix
Получите следующие библиотеки из пакетов или папки bin приложения, которое вы создали со службами отчетов в нем:
Установите 2 компонента из 1 выше
Теперь все готово! Значок ReportViewer будет добавлен на вашу панель инструментов, и теперь вы также найдете шаблоны отчетов и ReportWizard, добавленные в ваш общий список шаблонов, если вы хотите добавить новый элемент . (отчет) в свой проект.
NB: при настройке с помощью диспетчера пакетов Nuget шаблоны отчетов и ReportWizard группируются в разделе «Отчетность». Однако использование моего метода, описанного выше, не добавляет группировки отчетов в установленные шаблоны, но я не думаю, что это проблема, учитывая, что он позволяет быстро интегрировать rdlc без Интернета и без загрузки того, что у вас уже есть из Nuget каждый раз!
В Visual Studio 2015 я больше не могу найти конструктор для отчетов RDLC . Кто-нибудь знает, является ли это всего лишь ошибкой, и будет ли она предоставлена позже, или Microsoft хочет убить RDLC, или они хотят, чтобы мы использовали внешний дизайнер и когда, какой это дизайнер?
Обновление. Для разработчиков, которые ищут конструктор отчетов RDLC в Visual Studio 2017 , его необходимо загрузить из Visual Studio Marketplace.
Обновление: способ установки конструктора отчетов RDLC изменился в Visual Studio 2017 и новее . Подробнее см. В других ответах . Кроме того, ReportViewer Control теперь доступен через NuGet, см. Здесь .
оригинальный ответ ниже
Конструктор отчетов является частью инструментов данных Microsoft SQL Server .
Вы можете добавить его с помощью установки Visual Studio (Программы и компоненты> Visual Studio 2015> Изменить)
Если я хорошо помню, Microsoft SQL Server Data Tools он не включен в установку по умолчанию, Community 2015 поэтому вы должны проверить эту опцию во время установки. @tezzo да, ты прав. Это также относится к профессиональной версии. Установка VS 2015 по умолчанию довольно тонкая. Подумайте, что эти проблемы вызваны тем, что новая настройка совершенно сбивает с толку, что на самом деле выбрано. На моей стороне 2019 года это не решило проблему. Пришлось просто установить расширение с маркета.Откройте Панель управления> Программы> Программы и компоненты.
Выберите запись для своей версии Microsoft Visual Studio 2015. В нашем случае это была Microsoft Visual Studio Enterprise 2015.
Выберите Windows и веб-разработка> Инструменты данных Microsoft SQL Server и установите рядом с ним флажок.
После завершения установки откройте свою версию Visual Studio. После загрузки новых файлов .dll функциональность отчетов должна быть повторно реализована, и вы должны иметь доступ ко всем связанным формам, элементам управления и объектам.
В VS 2017 я проверил SQL Server Data Tools во время установки, и это не помогает. Итак, я загрузил и установил Microsoft.RdlcDesigner.vsix
Теперь это работает.
ОБНОВИТЬ
Другой способ - использовать расширения и обновления .
Перейдите в Инструменты> Расширения и обновления, выберите Интернет, затем найдите Microsoft Rdlc Report Designer для Visual studio и нажмите Загрузить . Для этого нужно закрыть VS , чтобы начать установку . После установки вы сможете использовать дизайнер rdlc.
Читайте также: