Visual Studio не добавляет мой компонент (из библиотеки DLL) в панель инструментов, даже если я ссылаюсь на него
Как указано в названии, я скопировал свою DLL в проекте Visual Studio, установил ее в "content" и "copy always". Добавлена ссылка на эту DLL и установите для нее "скопировать локально".
Мне удалось успешно выполнить экземпляр моего компонента в форме через код, но он не отображается в панели инструментов, действительно скучный.
Как я могу решить эту проблему?
Если я напрямую свяжу проект DLL с этим проектом, он работает, но теперь я рассматриваю DLL как "внешнюю", поэтому он не является частью одного и того же решения проекта DLL.
Ответы
Ответ 1
Как я нашел, чтобы это работало:
- Добавить dll, ссылаться на него
- Скомпилировать проект
- Сохраните решение и перезапустите визуальную студию.
И затем элементы управления отображаются в панели инструментов (не всегда работают, я думаю, это своего рода ошибка визуальной студии)
Ответ 2
- Щелкните правой кнопкой мыши на панели инструментов.
- Нажмите "Выбрать элементы..."
- Нажмите "Обзор..."
- Перейдите к своей DLL и нажмите "Открыть"
- Затем нажмите "ОК"
Затем ваши компоненты должны отображаться
Ответ 3
У меня была эта проблема с @AndrewFinnell solution:
В "c:....\XXXX.dll" нет компонентов, которые можно разместить на панели инструментов.
Итак, я решил с помощью перетащить:
- откройте проводник Windows и перейдите к DLL
- перетащите DLL и отбросьте его в Visual Studio на панели инструментов, где вы хотите, чтобы ваши компоненты отображались.
Я также понял, что некоторые компоненты могут иметь проблемы с совместимостью с некоторыми версиями .NET Framework. Например, Профессиональный календарь/Повестка дня, который вы будете использовать, похоже, не работает с .NET 4.5, в то время как с .NET 4.
Ответ 4
Как сказано выше,
-
Я ссылаюсь на DLL в проекте клиента: в правом обозревателе решений щелкните правой кнопкой мыши > Добавить ссылку, в это время пользовательский элемент управления не появится в панели инструментов.
-
Я сохраняю его и закрываю проект клиента.
-
Я перезапускаю Visual Studio 2012 и снова открываю клиентский проект. Теперь пользовательский элемент управления находится в панели инструментов.
-
Я снова открываю проект пользовательского контроля, вношу некоторые изменения и компилирую.
-
И самое главное, все изменения, которые я внес в проект DLL автоматически, были обновлены в проекте клиента без необходимости повторного добавления "Добавить ссылку".
Ответ 5
Вот что я сделал.
После установки загрузки таблицы 3.5 с MSDN-ссылки я вручную скопировал dll-диаграммы 3.5 в свой проект и ссылаюсь на них. Затем, из "выбрать элемент" панели инструментов, перейдите к библиотеке dll и добавьте их в панель инструментов. Убедитесь, что флажок установлен для "диаграммы" во всплывающем окне "выбрать элемент".
После этого элемент "диаграмма" в панели инструментов должен быть доступен и включен для проекта .NET 3.5.
Примечание
(Я использую Visual Studio 2010. Я думаю, что мое решение должно работать в 2012 году.)
Ответ 6
У меня была такая же проблема. Я работаю в Visual Studio 2010.
Моя библиотека управления пользователями написана на С#, и мой проект, который я импортирую, находится в Visual Basic.
Если бы у меня был проект С# в моем решении, пользовательские элементы управления отображались автоматически. Но если бы я только ссылался на DLL, он не загружал пользовательские элементы управления из библиотеки ссылок в "Панель инструментов".
Вышеупомянутая публикация, в которой упоминается поиск файла в проводнике и перетаскивание его в панель инструментов, решила проблему. Это очень странный способ поведения. Библиотеки пользовательского управления VB не требуют этого шага.
Это была проблема, с которой я сидел на горере последние 2 года.
Я бы проголосовал за предыдущий ответ, но пока у меня не хватает репутации.
В этом сообщении можно использовать несколько лучших тегов, потому что он был похож на большинство моих поисковых запросов.
Так
- Ссылка на библиотеку пользовательских элементов управления
- Отбросьте DLL файл в окно инструмента.
Один из вопросов, который я имею в связи с этим: что произойдет, если вы измените ссылку на проект на DLL (потому что она перемещена), а не пытаетесь обновить ссылку на инструментарий (удалив элемент управления из панели инструментов и перетащив DLL из нового местоположения)?
Ответ 7
Я пробовал следовать другим ответам (спасибо всем вам!), но у меня возникла эта проблема, и я дам вам понять, как я ее решил, и показать свои собственные инструменты на панели инструментов (в VS 2017).
- Поместите файл .ddl в любое решение библиотеки.
- Затем я добавляю, что .ddl как ссылка на мой нужный проект
- Создайте проект и перезапустите Visual Studio
-
Затем, когда я смотрю в панель инструментов, мое собственное имя панели инструментов появляется в
панели инструментов, когда я расширяю, что я получил ниже сообщения
В этой группе нет доступных элементов управления. Перетащите элемент на этот текст для добавления в toolbok
![введите описание изображения здесь]()
-
Я перетащил .dll и упал под этим текстом, а затем все мои собственные инструменты появились в моей панели инструментов.
Ответ 8
И добавь lib. в папку в вашем примере решения Solutionfolder/bin/debug, а затем добавьте ссылку на объект из этой папки, наконец пересоберите, выйдите, вернитесь, перетащите dll из этой папки решения/.../../и он, вероятно, появится.