Я создал .Net usercontrol в C #.это графический элемент управления с текстовым полем и списком.Теперь я хочу использовать этот элемент управления в устаревшем приложении VC ++. (Родной двоичный код).означает, что я хочу вызывать управляющий код из неуправляемого кода.
предположим, что мое usercontrol имя - xyz.dll.Я сгенерировал файл tlb с помощью tlbexp.exe, а затем зарегистрировал этот элемент управления с помощью приведенной ниже командной строки.regasm xyz.dll /tlb:"C:\xyz.tlb "/ codebase
Я проверил свой элемент управления с помощью« Контейнер тестирования элемента управления Activex »(откройте studio 2005 и перейдите в меню« Инструменты »)..Net usercontrol для этого инструмента, и он работал нормально.
, затем я создал пример приложения окна C #.Под Toolbox я щелкаю правой кнопкой мыши и выбираю «Выбрать элементы» и выбираю вкладку «COM компонент».и выберите мой элемент управления xyz.dll.Теперь этот элемент управления добавлен в панель инструментов.
Но когда я перетащил этот элемент управления в окно, я получил ошибку ниже.Не удалось создать компонент AxHost.Следующее сообщение об ошибке:
'System.Runtime.InteropServices.COMException (0x80029C4A): Ошибка загрузки библиотеки типов / DLL.(Исключение из HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)) в System.Windows.Forms.Design.DocumentDesigner.AxToolboxItem.CreateComponentsCore (хост IDesignerHost) в ID-узле System.Drawing.Design.Design.ToolboxItem.CreateComponents (хост IDesignerHost, IDictionary defaultValues) в System.Windows.Forms.Design.OleDragDropHandler.CreateTool (инструмент ToolboxItem, родительский элемент управления, Int32 x, Int32 y, ширина Int32, высота Int32, логическая переменная типа Toolbox, Boolean hasLapSignSense для хранения, Boolean hasLapSignS).e) '.
также дает мне указатель на то, «как использовать .net usercontrol в унаследованном приложении C #»