System.IO.FileNotFoundException при попытке загрузить DLL - PullRequest
0 голосов
/ 30 марта 2012

Я не очень опытный разработчик Windows, поэтому я надеюсь, что все это имеет смысл.

Я создал DLL управляемой сборки с использованием Visual Studio 2010. DLL (Plip.dll) содержит класс C ++, которыйиспользует класс System.IO.SerialPort для простой коммуникации через последовательный порт.

Во втором проекте Visual Studio я создал простой графический интерфейс, который использует класс, найденный в Plip.dll.В моем GUI-проекте у меня есть строка: #using "Plip.dll".В свойствах проекта я установил значение «Resolve #using References» для правильного расположения Plip.dll.GUI строит просто отлично.Если я скопирую GUI.exe и Plip.dll в одну и ту же папку, графический интерфейс на моем компьютере будет работать нормально.

У меня проблема в том, что при копировании обоих файлов на второй компьютер я не могуполучить исполняемый файл GUI для запуска.Я получаю следующую ошибку: «System.IO.FileNotFoundException. Не удалось загрузить файл или сборку» Plip.dll «Vesion = ....».Я получаю эту ошибку, даже если exe и dll находятся в одной и той же папке.

Есть предложения о том, как решить эту проблему?Есть ли какая-либо опция, которую мне нужно установить в моем проекте с графическим интерфейсом для корректной загрузки DLL во время выполнения?

1 Ответ

3 голосов
/ 30 марта 2012

Полагаю, проблема не в Plip.dll, а в его зависимостях.

Используйте Dependency Walker на втором компьютере, чтобы узнать, нужны ли ему какие-либо другие dll (они могут быть установлены в системной папке или в% PATH% на компьютере разработчика, но не на другом).

Если на этом втором компьютере не установлена ​​Visual Studio, возможно, вам не хватает Распространяемого пакета Microsoft Visual C ++ 2010 (необходимо установить его на другом компьютере)

Также убедитесь, что вы компилируете в Release, потому что для отладочных сборок нужны зависимости отладки.

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