| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Не находит dll в локальной папке |
| Автор: SwordOfDeath 11.12.2010, 20:47 | ||
| Привет, В общем проблема вот в чем: Есть unmanaged dll которая лежит вместе с managed программой в одной папке и на машине где ведется разработка все подключается нормально и работает. А при запуске на другой машине система ругается: "Не удается загрузить DLL "repeater.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)" dll в проект никак не подключал а просто использую
А самое странное что "regsvr32 repeater.dll" тоже не может найти эту dll! Подскажите пожалуйста что нужно сделать что бы система увидела эту dll. |
| Автор: reborn 11.12.2010, 21:40 |
| SwordOfDeath, а может ее дейсвительно нет ( ну может забыли поставить Copy Always ) |
| Автор: SwordOfDeath 11.12.2010, 22:19 |
| Ну я еще не совсем дурной что бы dll вообразить... Эм, dll билдится отдельно и копируется вручную... И как вы себе представляете я полез бы на форум спрашивать не удостоверившись что библиотека реально лежит в той же директории. Как видите я даже пытался её зарегистрировать. Но система её в упор не видит... В то же время у меня на машине все и без регистрации. Возможно это важно: На системе где разрабатываю и на системе где тестирую стоит Windows 7 x86(32) Библиотеку и прогу собираю соответственно. |
| Автор: reborn 12.12.2010, 00:11 |
| SwordOfDeath, да Вы не сердитесь так, просто я лично забывал тоскать с собой либы ( не задал пар-тр "copy always" ), иногда порой можно не увидить очевидного , поэтому и я Вас попросил на всякий случай перепроверить. Вообще как-то странно, что ОС ее не видит. И что? Даже dumpbin не в силах увидить Вашу либу? |
| Автор: SwordOfDeath 12.12.2010, 00:42 |
| Решил проблему! Оно сволочь ерор неправильный выводит !!! Оно какую-то dll из Redistributable не находит, а я себе мозги парю и в чем проблема понять не могу =\ Это печально! Это потому что я не установил Redistrubutable, таки я действительно не внимательный =\ Но это баг - что оно ругается на мою dll и что её нельзя зарегистрировать... бред какой-то... |
| Автор: Ky7m 12.12.2010, 00:43 |
| А если указать полный относительный путь к библиотеке? Будет работать? |
| Автор: SwordOfDeath 12.12.2010, 01:04 |
| Без redistributable - нет! Тоесть оно его даже в system32 не видит... вообще напрочь dll не воспринимает. Тоесть прога запускается нормально! Но при первом обращении(dllimport в динамически создаваемом объекте класса)к этой dll - вылетает! |
| Автор: Ky7m 12.12.2010, 10:48 | ||
То есть вариант: @"c:\my.dll" - не прошел. Значит предположу следующее библиотека ваша и собиралась Вами, а можно эту самую библиотеку и пару примеров импорта выложить в общий доступ, я хочу проверить её у себя. На мой взгляд, есть вероятность отличная от нуля, что библиотека не работает! |
| Автор: jonie 12.12.2010, 15:19 | ||
Ну а чтобы хотели вы? У вас происходит системный вызов LoadLibrary, который падает. Вам наверняка нужны Microsoft Visual C Runtime библиотеки нужных версий, т.к. вы собирали Сишную либу в режиме Multithreaded DLL ... |