Добавление элемента управления из панели инструментов winforms вызывает ошибку

Я использую пользовательский элемент управления в окнах форм. DLL для пользовательского элемента управления установлена ​​в GAC. Я добавил этот пользовательский элемент управления в свой ящик для инструментов.

Когда я перетаскиваю этот пользовательский элемент управления из панели инструментов в конструктор winforms, я получаю следующую ошибку:

Не удалось создать компонент UserControl. Далее следует сообщение об ошибке: "System.Runtime.InteropServices.COMException (0X80004005): ошибка HRESULT E_FAIL была возвращена после вызова компонента.

at VSLangProj.References.Add (String bstrPath)...................................

Это работает:

1) Добавление локальной ссылки сборки в ящик для инструментов и перетаскивание ее на форму работает правильно.

2) Добавление ссылки на dll в проекте также решает проблему

Вопрос:

Как сделать так, чтобы мой пользовательский элемент управления отображался в конструкторе при добавлении сборки в GAC? Я пропускаю какие-либо параметры в файле AssemblyInfo.cs или что-то, что мне не хватает.

Редактировать:

При дальнейшем анализе я обнаружил, что эта ошибка произойдет, если dll не присутствует в указанном месте. Например, если я добавлю сборку из d:\Location1\UserControl.dll в ящик для инструментов, то это исключение будет выброшено при перетаскивании элемента управления, если я удалю DLL из этого места после добавления его в панель инструментов.

Итак, я проверил, присутствует ли эта сборка в GAC или нет, с помощью командной строки разработчика Visual Studio и обнаружил, что dll присутствует в GAC. Но до сих пор не могу найти, почему выбрасывает исключение

1 ответ

Я пытался воспроизвести ваш сценарий. Я создал новую вкладку GAC на панели инструментов и перетаскиваю dll из ее местоположения GAC в эту вкладку, а не в исходное местоположение на вашем диске, из которого она была развернута в GAC (если я правильно понял). Никаких ошибок вообще. Использование Microsoft Visual Studio 2010 Ultimate, версия 10.0.40219.1 SP1Rel, Microsoft .NET Framework версия 4.5.50938 SP1Rel.

Другие вопросы по тегам