Visual studio убрать ссылки
Я только начал писать программное обеспечение для отчетности в новой версии визуальной студии с именем 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(), чтобы сделать его видимым:
Вам также нужно будет внести коррективы в расположение и размер вручную после добавления элемента управления.
Конечно, это не очень хороший ответ, но если вы застряли и вам просто нужно закончить работу, пока у вас не будет больше времени, чтобы это выяснить, это должно помочь.
Мне просто интересно, возможно ли в различных версиях Visual Studio автоматически удалять все ссылки из проекта, которые никогда не использовались?
В своем ответе укажите, к какой версии VS относится решение.
Вообще интересно, приводит ли удаление этих DLL к заметному улучшению времени сборки или что-то еще? (Конечно, кроме удаления избыточных зависимостей) Вы можете проголосовать за включение этой функции в состав VS (как и должно быть). @ monish001 - каждая сборка и актив увеличивает площадь развертывания и является еще одной возможностью управлять / поддерживать или быть потенциальным источником ошибок.Если у вас установлен Resharper (плагин), вы можете получить доступ к функции, которая позволяет анализировать использованные ссылки через Solution Explorer> (щелчок правой кнопкой мыши) References> Optimize References .
Эта функция неправильно обрабатывает:
- Зависимость вводимых сборок
- Динамически загружаемые сборки (Assembly.LoadFile)
- Собранные сборки кода, загруженные через взаимодействие
- Элементы управления ActiveX (COM-взаимодействие)
- Другие креативные способы загрузки сборок
Хотя это жизнеспособный способ сделать это, «для меня в различных версиях Visual Studio» означает не что-то другое, а уже «внутри»Расширение Resharper сделает это за вас.
Это расширение поддерживает Visual Studio 2005 по 2017 год.
Хотя компилятор не будет включать в себя неиспользуемые сборки, использование посторонних операторов и ссылок замедляет работу Visual Studio и Intellisense, поскольку существует больше кода, который необходимо учитывать инструментам.
что нашлось много неиспользованных ссылок в нашем проекте - но куча из них действительно используется . Так что я не доверяю Resharper со ссылками Resharper потребляет тонны памяти в больших проектах, когда есть много ссылок, которые в конечном итоге Редакции @eraj VS Express не поддерживают расширения, получите бесплатную версию Community, которая поддерживает такие расширения, как ReSharper. Пит, любой автоматизированный инструмент будет иметь возможность превышения. Особенно в эпоху зависимостей DI и PCL, которые, по-видимому, могут быть необоснованными, но вряд ли это вина инструмента. Вместо того, чтобы делать скриншот, вы должны использовать программное обеспечение для контроля версий. Современная система, такая как Git или Hg, позволит вам часто регистрироваться на месте, поэтому вы никогда не потеряете работу. насколько я могу судить, Resharper показывает неиспользуемые пространства имен, а не ссылки на сборки, что, как мне кажется, означает вопрос «неиспользуемые ссылки из проекта». Я бы тоже хотел найти последнееВы можете попробовать бесплатное расширение VS2010: Reference Assistant от группы Lardite. Это прекрасно работает для меня. Этот инструмент помогает найти неиспользуемые ссылки и позволяет выбрать, какие ссылки следует удалить.
Не работает с проектом MVC. Он удаляет необходимые DLL, как .Helpers и .WebPageЕсли вы хотите узнать, какой проект (сборка) зависит от других сборок, вы можете использовать NDepend .
В VS 2008/2010 есть опция меню, вызываемая правой кнопкой мыши, для удаления или удаления и сортировки. @JohnB: Конечно, вы правы, но его вопрос касается ссылок (на сборки), а не использования (пространств имен). VS2012: меню: Проект-> Свойства-> Ссылки-> Неиспользуемые ссылки.Для Visual Studio 2013/2015/2017 есть расширение, которое делает именно то, что вы хотите: ResolveUR . Что это в основном делает:
- ссылка удалена в проекте
- проект компилируется с помощью msbuild
- проверить на ошибки сборки
- восстановить удаленные ссылки, если были ошибки сборки.
Все, что вам нужно, это камень и голая рулька, тогда вы можете делать это, как пещерный человек.
- Удалить неиспользуемые пространства имен (для каждого класса)
- Запустите Debug build
- Скопируйте исполняемый файл и оставшиеся ссылки на пространство имен на новое место
- Запустите исполняемый файл
- Ошибка DLL отсутствующей ссылки
- Скопируйте необходимую DLL из папки Debug
- Повторите 4-6
- Гу гу га га?
- Бросай свой камень
Вы также можете положиться на свои инструменты сборки, чтобы сообщить, какая ссылка все еще требуется. Это эра VS 2017 года, пещерный человек все еще выжил.
Ха-ха, ничего страшного с юмором здесь нет. Подход Stoneman, похоже, без затратной версии Enterprise, это то, что мы имеем прямо сейчас.Для тех, кто приезжает сюда в поисках Visual Studio 2012 :
Позже вы можете сделать:
Помощник по ссылкам для Visual Studio 11 кажется неточным, он показал мне кучу неиспользованных ссылок, которые я знал на самом деле (установлен через Nuget). Не работает с проектом MVC. Он удаляет необходимые DLL, как .Helpers и .WebPageВ Visual Studio версий 2017 и 2015 вы можете сделать это с помощью функции Code Code , но эта функция доступна только в версии Enterprise Edition , но не в версии Community или Professional .
Щелкните правой кнопкой мыши узел проекта в обозревателе решений и выберите «Показать на карте кода». Это отобразит ваш .dll в виде одного узла на пустом графике. Щелкните правой кнопкой мыши по этому узлу на карте кода и выберите «Показать сборки в этой ссылке». Это добавит дополнительный узел с именем «Внешние элементы», который можно развернуть, чтобы показать только те сборки, на которые действительно есть ссылки.
Итак, если у меня есть проект веб-сайта Foo, который имеет ссылку на панель проектов библиотеки классов, как мне удалить эту ссылку?
спросил(а) 2020-03-20T17:44:59+03:00 1 год, 8 месяцев назадСсылка хранится в файле решения Visual Studio.
Edit:
Я должен упомянуть, что это в Visual Studio 2010. У меня нет других версий, установленных на данный момент, поэтому я не могу проверить, что это работает и для них.
ответил(а) 2020-03-20T17:59:46.088959+03:00 1 год, 8 месяцев назадВот как я это сделал для Visual Studio 2017.
-
Закройте решение в Visual Studio
Откройте файл решения ( .sln ) в текстовом редакторе
Найдите проект веб-сайта: Project("") = "YOUR-WEBSITE-NAME"
Найдите свойство ProjectReferences в проекте
Ссылка, которую вы хотите удалить, может выглядеть как |REFERENCE-TO-REMOVE.dll;
Удалите его из строки, включая точку с запятой
Там есть ошибка во всех версиях Visual Studio 2005-2010, которые заставляют вас думать, что вы удаляете ссылку на проект, но когда вы пытаетесь добавить ссылку назад, она говорит, что она уже существует.
ответил(а) 2020-03-20T17:44:59+03:00 1 год, 8 месяцев назад
Удалите файл решения (SLN) и снова добавьте все проекты обратно. Это единственное решение, которое работает, если вы не можете редактировать файл решения напрямую (что почти никогда не работает).В VS 2013 нет прямой опции, вам нужно удалить все DLL в bin/debug и очистить, повторно построить решение, все готово.
ответил(а) 2020-03-20T17:44:59+03:00 1 год, 8 месяцев назадВ обозревателе решений щелкните правой кнопкой мыши проект. В этом представлении перейдите к ссылкам и удалите ссылку на нарушение.
ответил(а) 2020-04-07T20:55:26+03:00 1 год, 7 месяцев назадУ меня была такая же проблема в 2008 году, но удаление ссылки не сработало, она просто продолжала возвращаться. Я закончил редактирование файла решения в блокноте и удалив ссылку вручную.
Я разрабатываю библиотеку для использования в других приложениях, и в этой библиотеке есть множество операторов отладки и ведения журнала благодаря NLog.
Можно ли исключить ссылку на NLog.dll при переходе в режим выпуска?
Хороший вопрос. У меня есть вариант использования, когда мне нужно удалить ссылку в режиме выпуска. - Bogdan Gavril MSFT
5 ответы
Вы можете вручную отредактировать файл csproj и сделать что-то вроде этого:
Это только делает ссылку на эту сборку в отладке. Я бы не рекомендовал делать это часто, потому что такое поведение не отражается в списке ссылок в Visual Studio при изменении конфигурации. Это работает при компиляции, хотя
ответ дан 14 мая '09, 01:05
Я думаю, вы можете принудительно использовать VS, если вы разгрузитесь и перезагрузите после переключения целей. - Прит Сангха
Я широко использую этот метод, и он очень полезен. К сожалению, Visual Studio выдаст предупреждение об отключенной ссылке. Тем не менее, это позволяет использовать очень важные сценарии, такие как ссылки на разные файлы в 64-битных и 32-битных сборках. - Sander
Единственный известный мне способ - полностью удалить ссылку и вызвать сборку через отражение. Затем вы должны регистрировать только в том случае, если сборка загружается.
Я не могу придумать, как это сделать. Если, может быть, вы не написали ссылку на заглушку для NLog.dll. Поскольку вы используете ссылку в своем коде, я не понимаю, как вы могли бы просто удалить ее в своем выпуске.
Возможно, сейчас уже слишком поздно, но в будущем вы могли бы написать класс для обертывания NLog.dll, а затем просто изменить его в одном месте, чтобы он фактически не входил в версию выпуска. Или иметь какой-то флаг.
Вау, делать это при каждом вызове журнала звучит довольно болезненно. Я бы предложил обернуть, а затем использовать атрибут Conditional. - застывший
Нет причин удалять ссылку, если вы уверены, что код этой DLL не будет использоваться. В этом случае вы можете просто удалить DLL.
Читайте также: