Как мога да се позова на не силно въведена dll в проект на библиотека от класове, който е регистриран за com interop?

Създадох тестов проект от .net като библиотека от класове, проверих регистъра за опция за com interop и той работи от visual foxpro.

след това се опитах да поставя препратка към .net dll, която ми трябва в този проект, не е силно въведено, за да го поставя директно в GAC). Имам съвместим клас с метод в тестовия проект, който извиква метод в .net реферираната dll и когато извикам този метод от visualfoxpro, получавам грешката, която

„Не може да се зареди файл или сборка или една от неговите зависимости...“

Тествах да имам посочената dll в папка за отстраняване на грешки (която компилирам и след това тествам) и от папката на клиентското приложение, която тествам, за да консумирам com dll във foxpro и в нито една от тях com dll не намери посочената dll.

Имам друга възможна папка за поставяне на dll, за да бъде намерена? някакъв код, който ми трябва?


person FabianSilva    schedule 26.08.2018    source източник
comment
Какво е останалото съобщение? Частта „...“ може да е показателна.   -  person blins    schedule 26.08.2018
comment
грешката е, че файлът на посочения dll не е намерен... странно е, опитах отново да поставя цялото съобщение за грешка и сега работи... Опитах се да преименувам dll по двата пътя, които поставих и все още работи... не знам как и ще трябва да го тествам на друг компютър, за да съм сигурен, че работи, поставяйки dll в същата папка. Благодаря   -  person FabianSilva    schedule 26.08.2018


Отговори (1)


Когато прекомпилирах проекта, той започна да работи, изглежда, че по някаква причина автоматичното публикуване в COM регистъра не се извършва автоматично.

ако някой има този проблем,

тест за използване на regasm nameOfLibrary.dll /tlb:nameOfLibrary.tlb /codebase в .net dll

зарежда в COM регистъра dll, без да го поставя в GAC (някои предупреждения за версии, потърсете това)...

също така друга опция е да направите „активиране без регистрация“, което освобождава от необходимостта от регистриране на COM с regasm, за да консумирате dll по-късно.

person FabianSilva    schedule 24.09.2018