У меня есть проект VB.Net, которому необходимо использовать стороннюю DLL, для которой также имеется сборка interop. Так что у меня есть что-то вроде этого:Сборка, не указанная в VS10 Обозреватель объектов
Hummingbird.DM.Server.Interop.PCDClient.dll
PCDClient.dll
Я пытался добавить ссылку на Interop непосредственно в проекте, но на запуск файла я получил COM не зарегистрирована ошибка.
Итак, я попытался регистрации Interop следующим образом:
gacutil /if "C:\....\Hummingbird.DM.Server.Interop.PCDClient.dll"
regasm "C:\....\Hummingbird.DM.Server.Interop.PCDClient.dll"
Даже после перезагрузки VS, сборка еще не видно.
Значит, вы говорите, что я должен использовать только GACUTIL, а не оба? Я не зарегистрировал его с помощью «regasm/u ...», тогда я сделал «gacutil/if ...», это достаточно? Моя система Win XP 32Bit. – udeleng
Вы не должны использовать ни один из них, этот COM-сервер вряд ли будет управляемым кодом. Как я уже сказал, запуск regasm перезаписывал ключи реестра для COM-сервера, вам нужно его повторно установить. Использование Regsvr32 в * неуправляемой * DLL (не библиотеке interop) является вероятным способом, обратитесь за поддержкой к поставщику, если у вас больше проблем. –
Я использовал «regsvr32 PCDClient.dll» (interop все еще находится в GAC, не уверен, что это необходимо), и теперь я вижу Interop.PCDCLIENTLib, перечисленные в Обозревателе объектов. Можете ли вы подтвердить, что шаги, которые я должен использовать следующие: gacutil/если "C: \ ... \ Hummingbird.DM.Server.Interop.PCDClient.dll" regsvr32 «C: \ ... \ PCDClient. dll " – udeleng