В Visual Studio 2010 я написал оболочку управляемого класса C ++ / CLI для внешней библиотеки, предоставленной в виде файла .lib, давайте назовем ее ExternalLibrary.lib. .Lib включен в качестве зависимости проекта, и при компиляции не выдается никаких предупреждений или ошибок.
Когда я пытаюсь использовать этот проект-обертку, включив его в качестве зависимости проекта C #, я получаю следующую ошибку при работе в режиме отладки (проект молча не удается запустить без отладки):
FileNotFoundException was unhandled
Could not load file or assembly 'WrapperProject.dll' or one of its dependencies.
The specified module could not be found
Я проверил, что WrapperProject.dll находится в папке отладки проекта C #, поэтому я решил проверить его зависимости с помощью Dependency Walker (http://dependencywalker.com/) Первая зависимость в списке была "ExternalLibrary.dll". Я думаю, что это проблема в том, что «ExternalLibrary.dll» никогда не существовало, только «ExternalLibrary.lib». Как мне сказать Visual Studio, чтобы она не требовала несуществующей DLL, и вместо этого включить файл .lib?
Он уже выдает ошибку, если я удаляю .lib из пути компоновщика, поэтому он ищет и находит файл; Я не уверен, почему в конце это добавило бы зависимость от несуществующего .dll.
Спасибо