Visual Studio не добавляет мой компонент (из DLL) в панель инструментов, даже если я на него ссылаюсь - PullRequest
13 голосов
/ 07 января 2011

Как указано в заголовке, я скопировал свою библиотеку DLL в проект Visual Studio, установив для нее «содержимое» и «всегда копировать». Добавил ссылку на эту DLL и установил ее "локально копировать".

Мне удалось скопировать компонент в форму с помощью кода, но он не появился на панели инструментов, очень скучно.

Как я могу решить эту проблему?

Если я напрямую свяжу проект DLL с этим проектом, он будет работать, но теперь я рассматриваю DLL как «внешнюю», поэтому она не является частью того же решения проекта DLL.

Ответы [ 8 ]

10 голосов
/ 19 декабря 2013

У меня была эта проблема с @ решением ЭндрюФиннелла :

В 'c: .... \ XXXX.dll' нет компонентов, которые можно поместить наtoolbox.

Итак, я решил с помощью drag and drop :

  • открыть проводник Windows и перейдите к DLL
  • перетащитеDLL и поместите его в Visual Studio на панели инструментов, где вы хотите, чтобы ваши компоненты появлялись.

Я также понял, что некоторые компоненты могут иметь проблемы совместимости с определенными .NET Framework .Например, Профессиональный просмотр календаря / повестки дня, который вы будете использовать , похоже, не работает с .NET 4.5, а с .NET 4.

9 голосов
/ 07 января 2011
  • Щелкните правой кнопкой мыши на панели инструментов.
  • Нажмите «Выбрать элементы ...»
  • Нажмите "Обзор ..."
  • Перейдите к своей DLL и нажмите Open
  • Затем нажмите «ОК»

Ваши компоненты должны появиться

4 голосов
/ 21 июля 2011

Я нашел способ заставить это работать:

  1. Добавить dll, ссылаться на него
  2. Скомпилируйте проект
  3. Сохраните решение и перезапустите visual studio

А затем элементы управления появляются в наборе инструментов (не всегда работает, я думаю, что-то вроде визуальной ошибки студии)

1 голос
/ 24 мая 2013

Как сказано выше,

  1. Я ссылаюсь на DLL в клиентском проекте с помощью: в обозревателе решений щелкните правой кнопкой мыши> Добавить ссылку, в настоящее время пользовательский элемент управления не отображается вПанель инструментов.

  2. Я сохраняю его и закрываю проект клиента.

  3. Я перезагружаю Visual Studio 2012 и снова открываю проект клиента.Теперь пользовательский элемент управления находится в панели инструментов.

  4. Я заново открываю проект пользовательского элемента управления, вносю некоторые изменения и компилирую.

  5. И самое важноевсе изменения, которые я сделал в проекте DLL, были автоматически обновлены в клиентском проекте без необходимости повторного добавления «Добавить ссылку».

0 голосов
/ 11 апреля 2019

и добавить lib. в папку в вашем примере решения Solutionfolder / bin / debug, а затем добавьте ссылку на объект из этой папки, наконец пересоберите, выйдите, вернитесь, перетащите dll из этой папки решения /.../../ и он, вероятно, появится.

0 голосов
/ 26 октября 2017

Я пытался следовать другим ответам (спасибо всем вам!), Но у меня возникла эта проблема, и я сообщу всем вам, как я ее решил, и покажу свои пользовательские инструменты на панели инструментов (в VS 2017).

  1. Поместите файл .ddl в любое решение библиотеки
  2. Затем я добавлю этот .ddl в качестве ссылки на нужный проект
  3. Создайте проект и перезапустите Visual Studio
  4. Затем, когда я смотрю на панель инструментов, на панели инструментов появляется имя моего пользовательского набора инструментов, когда я раскрываю, что получаю сообщение ниже

    В этой группе нет доступных элементов управления.Перетащите элемент в этот текст, чтобы добавить в набор инструментов

    enter image description here

  5. Я перетащил .dll и упал под этимтекст, а затем все мои собственные инструменты появились в моем наборе инструментов.

0 голосов
/ 28 августа 2015

У меня была такая же проблема. Я работаю в Visual Studio 2010.

Моя пользовательская библиотека управления написана на C #, и мой проект, в который я импортирую ее, находится в Visual Basic.

Если бы в моем решении был проект C #, пользовательские элементы управления отображались бы автоматически. Но если бы я только ссылался на DLL, он не загружал бы пользовательские элементы управления из указанной библиотеки в «Toolbox».

Приведенный выше пост, в котором упоминается поиск файла в проводнике и перетаскивание его на панель инструментов, решил проблему. Это очень странный способ поведения. Для пользовательских библиотек VB этот шаг не требуется.

Это была проблема, с которой я сидел на горелке последние 2 года.

Я бы проголосовал за предыдущий ответ, но мне пока не хватает представителя.

В этом сообщении могут быть использованы более подходящие теги, поскольку он был похоронен в большинстве моих поисков в Google.

So

  1. Ссылка на пользовательскую библиотеку управления
  2. Перетащите файл DLL в ящик для инструментов.

В связи с этим у меня возникает один вопрос: что произойдет, если вы измените ссылку проекта на DLL (потому что она была перемещена), а не попытаетесь обновить ссылку на панель инструментов (удалив элемент управления из панели инструментов и перетащив и отпустив DLL из нового места)?

0 голосов
/ 16 января 2015

Вот что я сделал.

После установки загрузки диаграммы 3.5 в сети по ссылке MSDN я вручную скопировал библиотеки 3.5 диаграммы в свой проект и обратился к ним. Затем из «выберите элемент» панели инструментов перейдите к библиотекам и добавьте их в панель инструментов. Убедитесь, что флажок «Диаграмма» установлен во всплывающем окне «Выбрать элемент».

После этого элемент «Диаграмма» на панели инструментов должен быть доступен и включен для проекта .NET 3.5.

Примечание (я использую Visual Studio 2010. Я думаю, что мое решение должно работать на 2012 год.)

...