Проблема с добавлением ссылки на C ++ dll в проект C # - PullRequest
0 голосов
/ 03 февраля 2011

Я реализовал C ++ dll, который успешно скомпилирован.Проект содержит заголовок и файл cpp.Файл cpp содержит несколько сторонних заголовков (в основном Cplex).

После создания dll: затем я попытался ссылаться на dll в visual studio, и это не сработало.В консольном приложении я использовал tlbimp.exe и обнаружил сообщение об ошибке:

<AssemblyFileName.dll> is not a valid type library.

Затем я использовал средство обхода зависимостей, и оно показало сообщение об ошибке:

"MSVCR90.DLL was not found".

Я определенно что-то упускаю и был бы признателен, если бы вы могли указать, какое решение может быть?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2011

Здесь есть две проблемы, одна из которых заключается в том, что не все нативные библиотеки DLL также являются библиотеками типов, а только COM.

вторая ошибка больше похожа на то, что у вас нет доступной среды выполнения Visual C ++. Собираете ли вы C ++ dll на том же компьютере, пытаясь использовать его?

для dll не COMN, вместо импорта библиотеки типов вы можете использовать подход DLLImport.

0 голосов
/ 03 февраля 2011

Если у вас нет Visual Studio 2008, вы получите ошибку MSVCR90.dll.Вы можете просто установить среду выполнения Visual Studio 2008, и тогда у вас не будет ошибок зависимости, связанных с MSVCR90.

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en

...