Я создал здесь пользовательский элемент управления для других программистов, начиная с шаблона "Библиотека элементов управления Windows Forms" - насколько я понимаю, именно такой подход следует использовать при создании пользовательского элемента управления. Он отлично работает на моей машине, я могу добавить его на панель инструментов, просто перейдя на панель инструментов и выбрав «Выбрать элементы». Нет проблем, он добавлен и я могу им пользоваться.
Я пытаюсь передать его другому разработчику здесь. Сейчас это первые дни в процессе разработки, и просто чтобы что-то заработало, у нас есть доступ к общему каталогу. Он сам скомпилировал исходный код и попытался добавить элемент управления в свой набор инструментов. Когда он пытается это сделать, все, что он получает в сообщении «В [мой элемент управления] нет компонентов, которые можно поместить на панель инструментов».
Я нашел информацию о распространении пользовательских элементов управления в Интернете, но мы хотим, чтобы эти элементы управления оставались внутри компании. На моей машине установлено/обновлено что-то под названием «vsix», но когда я «экспортирую» его, я просто получаю zip-файл, содержащий файлы, которые у него уже есть. Я пробовал варианты поиска таких вещей, как «визуальная студия 2017 распределяет пользовательский контроль», но он продолжает возвращаться к настройке веб-элементов управления или «использовать vsix», с которыми я просто не могу разобраться.
Я видел в Как добавить пользовательский элемент управления Windows Forms в панель инструментов Visual Studio этот ответ: «Вы можете скопировать dll вашего элемента управления в постоянное место. Затем щелкните правой кнопкой мыши на панели инструментов, например, на вкладке «Общие», затем нажмите «Выбрать элементы»… затем в окне «Выбор элементов панели инструментов» на вкладке «Компоненты .Net Framework» нажмите «Обзор». ... и откройте dll вашего элемента управления. Затем в списке компонентов проверьте элемент управления и нажмите кнопку «ОК». Элемент управления появится на выбранной вкладке. Вы также можете добавить свою собственную вкладку, просто щелкнув правой кнопкой мыши и выбрав «Добавить вкладку». ." -- но как только мы нажмем на нее, мы получим сообщение "Нет компонентов...".
Итак, как мне взять пользовательский элемент управления, который я создал на своей машине, и передать его парням в кубах вокруг меня?
Есть ли вариант «объясните мне, как будто мне пять лет» из «Дайте кому-нибудь управление, которое вы написали»?





Спасибо Ашкан! Оказывается, просто на целевом компьютере возникла какая-то проблема. В конце концов я переместил все в библиотеку классов для простоты развертывания, но два других человека смогли использовать то, что было у меня, без каких-либо проблем. Итак, в конце концов, мы обновили и сбросили некоторые вещи на целевом компьютере и переключились на библиотеку классов — и проблема была решена!
Я сделал это давно, поэтому детали могли измениться, но вам нужно добавить ссылку в реестр с указанием пути к папке, в которой находится ваша сборка (сборки). Что-то вроде
[HKLM|HKCU]\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\MyFolder. Проверьте реестр на своей машине разработки, и вы, несомненно, найдете несколько примеров. Обычно вы делаете это, предоставляя установщик msi, который устанавливает ваши элементы управления и создает необходимые записи в реестре.