2012-02-19 3 views
0

Я создал DLL C# в VS 2010 со всеми Com + attributes.i создал сильный ключ, и this strong key to Application properties and register it to the assembly: sn -k ComPlusClass.snkНевозможно назвать Com + из vb6 кода

Use VS tool to register the assembly as: regasm ComPlusExample.DLL

Create a Type Library using the tool: ` tlbexp ComPlusExample.DLL

Register it in COM+ as: regsvcs ComPlusExample.DLL позже я создал приложение в vb6 и добавил сгенерированный .tlb в refrences.Everthing работает отлично. Я могу вызвать C# dll из vb6. Но мне нужно передать этот код моему клиенту, и здесь невозможно выполнить все эти шаги. Итак, для этого я создал exe, щелкнув правой кнопкой мыши мое приложение в COM + .I установил этот exe на мою клиентскую систему. Но когда я добавил refrence tlb из progmramfiles, он показывает ошибку, которая module can't be found .plz мне поможет в этом. exe - это правильный способ экспортировать мой com + из одной системы в другую.

ответ

0

Ваше приложение основано на .NET Framework, поэтому команда «regsvcs» должна запускаться на клиентской машине, на которой вы развертываете. Если вы просто экспортируете библиотеку и импортируете ее в COM +, я не считаю, что необходимые записи CCW (COM вызываемой оболочки) добавляются в реестр Windows.

Поэтому я рекомендую создать командный файл, который запускает команду «regsvcs» с необходимыми параметрами. Вам не нужно будет генерировать TLB-файл на клиенте, поскольку он используется только во время разработки.

Конечно, вы также можете создать установщик проекта, который сделает это за вас, но если вы ищете быстрое решение, пакетный файл сделает это.

Смежные вопросы