VS 2005 не может найти определения классов .NET DLL даже после Regasm - PullRequest
2 голосов
/ 23 марта 2010

У меня есть неуправляемый проект C ++, который использует стороннюю DLL-библиотеку .NET. Он прекрасно работает на одной машине, но не на другой - в IDE не удается найти определения классов.

Я запустил RegAsm.exe TheLib.dll /codebase /tlb:TheLib.tlb, и записи реестра на двух компьютерах совпадают. То есть, хотя IDE говорит, что TheLib.Function() не определено, оно есть в реестре на обеих машинах.

Что я могу делать не так? (Источник на двух машинах извлекается из одного и того же хранилища, и нет незафиксированных или неверсированных файлов.)

1 Ответ

1 голос
/ 31 декабря 2010

Иногда это может случиться, если вы неправильно экспортируете классы или функции из вашей библиотеки.Несмотря на то, что код есть, и он прекрасно компилируется, когда он ссылается, он может опустить определения или фактически не генерировать экспорт в функции.Поэтому другие проекты, импортирующие библиотеку, показывают, что они не определены.

В этой статье описан хороший способ экспорта классов из DLL, и его стоит прочитать, так как он может быть связан с вашей проблемой.

...