Ссылочная DLL не может быть найдена при запуске приложения - PullRequest
1 голос
/ 07 октября 2011

У меня странная ситуация с кодом, который я унаследовал на работе.Их приложение представляет собой многопроектное решение, причем некоторые из них являются (кодом) частями библиотеки MS Enterprise (не знаю, какая версия).

У них также есть существующее приложение C ++ (неуправляемое), которое имееткуча DLL.Одна из этих DLL-библиотек встроена в отдельное решение, как в 64-битном, так и в 32-битном вариантах.

Основное приложение имеет ссылку на эту DLL-библиотеку и вызывает несколько статических функций (я вижу intellisense, четное).Я могу скомпилировать и собрать файлы EXE основного приложения, но когда я запускаю его, я получаю исключение, что эта DLL из неуправляемого кода (давайте назовем ее CPlusPlusCode.dll не найдена:

FileNotFound Исключение былонеобработанный: не удалось загрузить файл или сборку 'CPlusPlusCode.dll' или одну из его зависимостей. Указанный модуль не найден.

Я довольно озадачен, поскольку могу скомпилировать код, см.intellisense для импортированных классов, и копаться в DLL в браузере объектов. Я даже убедился, что есть копия в папке \ bin \ Debug (хотя я не понимаю, почему это будет иметь значение). Это для WindowsПриложение форм.

Кроме того, если это имеет значение, у меня были некоторые проблемы со сборкой, связанные с x86 и x64 для различных проектов, я думаю (надеюсь?), Что это не связано с этим, но я решил это с помощьюДиспетчер конфигурации, чтобы построить все как x64.

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

У меня была эта проблема с проектом, все это нормально работает в Visual Studio, и большую часть времени я запускал проект локально на моей машине.Но из-за неуправляемого кода мне нужно было специально разрешить выполнение проекта с правильными уровнями разрешений.

Итак, посмотрите в файле манифеста, что существует достаточно разрешений и т. Д.

0 голосов
/ 07 октября 2011

Проверьте GAC, и, если необходимо, вам может понадобиться добавить его или зарегистрировать DLL там.

...