Dll путь импорта. как получить путь DLL, который находится в другой папке - PullRequest
3 голосов
/ 30 ноября 2011

Мой Проект1 здесь \ Project1 \ Bin \ Debug \ application.exe и мои библиотеки находятся в \ Project1 \ Debug \ 3rdparty.dll

Как получить путь, который включает эту DLL в моем коде?

[DllImport("????????/3rdparty.dll")]

что мне написать на вопросительных знаках (?????) Мое решение включает в себя другие проекты C ++ внутри. Поэтому всякий раз, когда я компилировал проект c ++, он обновлял dll в project1 \ Debug (кое-что, как я не знаком с c ++) Мне нужно использовать эту библиотеку в DllImport [Path]. Если я попытался добавить ссылку, это дает мне ошибку. Это может быть очень простой вопрос, но я не могу решить его по какой-то причине.

Ответ от Hans Pasant в разделе комментариев:

Измените значение параметра «Выходной каталог» в проекте C ++ на $ (SolutionDir) bin \ $ (ConfigurationName), чтобы собственная DLL-библиотека оказалась в той же папке, что и управляемая программа. Просто используйте [DllImport ("3rdparty.dll")] в своем коде C #. - Ганс Пассант

1 Ответ

1 голос
/ 30 ноября 2011
  1. В «Обозревателе решений» щелкните правой кнопкой мыши «Ссылки».
  2. Нажмите «Добавить ссылку».
  3. Выберите вкладку «Обзор» и выберите файл 3rdparty.dll.
  4. После его добавления щелкните правой кнопкой мыши 3rdparty.dll в разделе «Ссылки» и измените «Копировать локально» на true.
  5. Тогда просто укажите свой DllImport как обычно [DllImport("3rdparty.dll")]

Это будет работать, только если это сборка .NET. Поскольку похоже, что вы используете C ++ DLL, вам нужно взглянуть на Использование C ++ Class DLL в приложении C #

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...