Библиотека Calc не нашла указанный модуль

Обновлено: 21.11.2024

Не удалось загрузить DLL MyOwn.dll: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)

Я прочитал и попробовал несколько решений, найденных в Интернете. Ничего не работает..

Я пробовал использовать следующие методы:

Когда я пытался следовать этой статье и запускал этот пример (из скачанного кода), он работал без проблем (используемая dll находится в папке bin/debug)

Я скопировал свою dll (вместе со всеми файлами, от которых она зависит, в папку bin).

Я также попробовал этот подход, но получил ту же ошибку:

20 ответов 20

Насколько я помню, в Windows порядок поиска dll следующий:

  1. Текущий каталог
  2. Системная папка, C:\windows\system32 или c:\windows\SysWOW64 (для 32-разрядного процесса на 64-разрядном компьютере).
  3. Чтение из переменной среды Path

обнаружено отсутствие некоторых зависимостей (Oracle и некоторые dll из IE). Нужно установить Oracle, так как моя dll зависит от этого... тогда я узнаю :) Нашел проблему с DependencyWalker ;)

+1 Киту Халлигану за предложение DependencyWalker. Он сказал мне, что не все зависимости имеют один и тот же тип процессора (x86/x64). Я скопировал все файлы с одинаковым типом ЦП в папку bin моего приложения, и это решило проблему.

В каждой dll, которую я могу найти в своей системе, есть DependencyWalker, утверждающий, что есть ошибка с разными типами ЦП — даже с System.Web.Mvc.dll. Здесь какая-то ложная тревога.

В моем случае проблема заключалась в попытке загрузить C++ DLL, скомпилированную для отладки. Для этого требуется среда выполнения отладки C++, что означает, что вам необходимо установить Visual Studio. Или перекомпилируйте DLL для выпуска и установите исполняемый дистрибутив C++.

Вы можете использовать инструмент dumpbin, чтобы найти необходимые зависимости DLL:

Это скажет вам, какие библиотеки DLL необходимо загрузить вашей библиотеке DLL. Особенно обратите внимание на MSVCR*.dll. Я видел, как ваш код ошибки возникает, когда правильный распространяемый компонент Visual C++ не установлен.

Вы можете получить «Распространяемые пакеты Visual C++ для Visual Studio 2013» на веб-сайте Microsoft. Он устанавливает c:\windows\system32\MSVCR120.dll

В имени файла 120 = 12,0 = Visual Studio 2013.

Будьте внимательны, чтобы у вас была правильная версия Visual Studio (10.0 = VS 10, 11 = VS 2012, 12.0 = VS 2013.), правильная архитектура (x64 или x86) для целевой платформы DLL, а также вам нужно быть осторожным вокруг отладочных сборок. Отладочная сборка DLL зависит от MSVCR120d.dll, которая представляет собой отладочную версию библиотеки, которая устанавливается вместе с Visual Studio, но не с помощью распространяемого пакета.

Для тех, кто все еще страдает от этой проблемы: если вы используете двоичный файл отладки, версия распространяемых компонентов среды выполнения C++ должна быть точно такой же, как и версия, в которой вы ее создали.

Комментарий @skyline75489 спас меня. Библиотека C++ отлично работала на моей машине, но не загружалась в других местах из-за того, что VS связал ее с отладочной версией msvcr.

DLL должна находиться в папке bin.

В Visual Studio я добавляю dll в свой проект НЕ в «Ссылки», а «Добавить существующий файл». Затем установите свойство «Копировать в выходной каталог» для dll на «Копировать, если новее».

Это "кладж", но вы можете использовать его, по крайней мере, для проверки работоспособности: попробуйте жестко указать путь к DLL в коде

Сказав это; в моем случае запуск dumpbin /DEPENDENTS, предложенный @anthony-hayward, и копирование 32-разрядных версий перечисленных там библиотек DLL в мой рабочий каталог решили эту проблему для меня.

Сообщение немного вводит в заблуждение, потому что не удается загрузить "мою" dll, а зависимости

Попробуйте ввести полный путь к dll. Если не работает, попробуйте скопировать dll в папку system32.

Убедитесь, что все зависимости вашей собственной dll присутствуют рядом с dll или в System32.

Включите ведение журнала слияния. В этом вопросе вы найдете множество советов о том, как это сделать. Отладка проблем с загрузкой приложений в смешанном режиме может быть настоящей головной болью. Ведение журнала слияния может оказаться очень полезным.

Есть одна очень забавная вещь (и имеющая важное техническое значение), на которую можно потратить много времени, поэтому решил поделиться ею здесь -

Я создал проект консольного приложения ConsoleApplication1 и проект библиотеки классов ClassLibrary1 .

Весь код, который выполнял p/invoke, присутствовал в ClassLibrary1.dll. Поэтому перед отладкой приложения из Visual Studio я просто скопировал неуправляемую сборку C++ ( myUnmanagedFunctions.dll ) в каталог \bin\debug\ проекта ClassLibrary1, чтобы CLR могла загрузить его во время выполнения.

Я продолжал получать

ошибка часов. Позже я понял, что все такие неуправляемые сборки, которые должны быть загружены, должны быть скопированы в каталог \bin\debug запускаемого проекта ConsoleApplication1, который обычно является формой win, консолью или веб-приложением.

Поэтому будьте осторожны, Текущий каталог в принятом ответе на самом деле означает Текущий каталог основного исполняемого файла, из которого запускается процесс вашего приложения. Кажется очевидным, но иногда это может быть не так.

Извлеченный урок. Всегда размещайте неуправляемые библиотеки DLL в том же каталоге, что и загрузочный исполняемый файл, чтобы его можно было найти.

"Указанный модуль не найден" — это ошибка RunDLL. Он связан с файлами DLL (.dll), связанными с реестром Windows, и используется для одновременного запуска задач, обрабатываемых различными программами.

Ошибки RunDLL обычно возникают, когда программе не предоставлен доступ к определенному коду. Эти ошибки также могут быть вызваны вирусом или вредоносным ПО.

Ошибка «Указанный модуль не найден» часто возникает при запуске Windows или при запуске определенной программы. Обычно это происходит из-за поврежденных или отсутствующих файлов .dll.

  1. Повреждены или отсутствуют файлы .dll.
  2. Поврежденные записи реестра Windows.
  3. Неправильная установка или удаление программ.
  4. Вредоносное ПО.
  5. Устаревшие драйверы.

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

В приведенном ниже руководстве описаны различные способы устранения ошибки "Указанный модуль не найден".

Видео, показывающее, как исправить ошибку «Указанный модуль не найден»:

Содержание:

Запустить средство проверки системных файлов

Проверка системных файлов (SFC) — это утилита в Windows, которая позволяет пользователям сканировать системные файлы Windows на наличие повреждений и восстанавливать их. В этом руководстве описывается, как запустить средство проверки системных файлов (SFC.exe) для сканирования системных файлов и восстановления отсутствующих или поврежденных системных файлов (включая файлы .DLL).

Чтобы запустить его, сначала откройте командную строку, введя "командная строка" в поиске, щелкните правой кнопкой мыши "Командная строка", а затем выберите "Запуск от имени администратора" в раскрывающемся меню, чтобы запустить командную строку с правами администратора. Вы должны запустить командную строку с повышенными привилегиями, чтобы выполнить сканирование SFC.

Введите "sfc /scannow" в окне командной строки и нажмите Enter на клавиатуре, чтобы выполнить эту команду. Запустится средство проверки системных файлов, и для завершения сканирования потребуется некоторое время.

Дождитесь завершения процесса сканирования и перезагрузите компьютер. Посмотрите, исправит ли это ошибку "Указанный модуль не найден".

Просканируйте систему на наличие вирусов

Выполните полное сканирование системы и проверьте, не обнаружены ли какие-либо вредоносные программы на вашем компьютере. Вы можете использовать Защитник Windows (встроенный антивирус), который защищает компьютер от вирусов, шпионского и другого вредоносного ПО.

Чтобы запустить полное сканирование системы с помощью Защитника Windows, введите "вирус" в поиске и щелкните результат "Защита от вирусов и угроз".

В окне "Защита от вирусов и угроз" нажмите "Расширенное сканирование".

Выберите "Полное сканирование" и нажмите "Сканировать сейчас". Это начнет сканирование вашей системы на наличие вредоносных программ. Если обнаружены какие-либо вирусы, удалите их.

Вы можете выбрать сканер вирусов и вредоносных программ из нашего списка лучших средств защиты от вредоносных программ. Список состоит из известных лучших программ для удаления программ-шпионов и поможет вам выбрать правильное программное обеспечение для защиты вашего компьютера. Найдите список, нажав на эту ссылку.

Если антивирусное программное обеспечение не смогло найти какие-либо вирусы или вредоносные программы, связанные с файлом .dll, упомянутым в сообщении об ошибке, вам может потребоваться запустить сканирование на наличие вредоносных программ в безопасном режиме. Безопасный режим – это диагностический режим запуска в операционных системах Windows, используемый для получения ограниченного доступа к Windows, когда операционная система не запускается или не работает нормально.

Одним из наиболее распространенных шагов при устранении неполадок компьютера является загрузка в безопасном режиме. Безопасный режим запускает Windows в базовом состоянии с использованием ограниченного набора файлов и драйверов.

Это может помочь в устранении неполадок на вашем компьютере, а также может быть эффективным способом сканирования системы на наличие вредоносных программ. Прочтите это руководство, чтобы узнать, как запустить Windows в безопасном режиме.

Завершить процессы, связанные с конкретной .Dll

Введите "параметры проводника" в поиске и выберите "Параметры проводника" в контекстном меню.

В окне "Параметры проводника" перейдите на вкладку "Вид". Вы увидите список параметров в разделе "Дополнительные настройки".

Включите параметр "Показывать скрытые файлы, папки и диски", а затем снимите флажок "Скрывать защищенные системные файлы (рекомендуется)". Нажмите "Применить", чтобы сохранить изменения.

Теперь снова запустите Windows в безопасном режиме, только на этот раз выберите "Безопасный режим с поддержкой сети". Запустите Windows в безопасном режиме с загрузкой сетевых драйверов и откройте Диспетчер задач, нажав клавиши Ctrl + Shift + Esc на клавиатуре, или просто щелкните правой кнопкой мыши Пуск и выберите "Диспетчер задач".

На вкладке "Процессы" найдите программу, связанную с DLL-файлом, вызывающим ошибку, щелкните ее правой кнопкой мыши и выберите "Завершить задачу" в контекстном меню. меню.

Наконец, вам нужно внести некоторые изменения в реестр Windows. Для редактирования реестра вам потребуется редактор реестра Windows.

Чтобы открыть редактор реестра, нажмите правой кнопкой мыши кнопку "Пуск" и выберите "Выполнить" в контекстном меню. Введите "regedit" и нажмите Enter или нажмите "ОК".

Теперь следуйте этим путям и удалите записи, щелкнув правой кнопкой мыши каждую и выбрав "Удалить" в контекстном меню:

Перезагрузите компьютер и посмотрите, устранена ли ошибка "Указанный модуль не найден".

Мы надеемся, что эти решения были вам полезны, и вы смогли исправить ошибку "Указанный модуль не найден", следуя инструкциям. Если вам известны другие способы решения проблемы, не упомянутые в нашем руководстве, поделитесь ими с нами, оставив комментарий в разделе ниже.

Об авторе:

Римвидас — исследователь с более чем четырехлетним опытом работы в сфере кибербезопасности. Он учился в Каунасском технологическом университете и получил степень магистра перевода и локализации технических текстов в 2017 году. Его интерес к компьютерам и технологиям позволил ему стать универсальным автором в ИТ-индустрии. В PCrisk он отвечает за написание подробных статей с практическими рекомендациями для Microsoft Windows. Свяжитесь с Римвидасом Илиавичюсом.

Наши гиды бесплатны.Однако, если вы хотите поддержать нас, вы можете отправить нам пожертвование.

PCrisk — это портал кибербезопасности, информирующий пользователей Интернета о последних цифровых угрозах. Наш контент предоставляется экспертами по безопасности и профессиональными исследователями вредоносных программ. Узнайте больше о нас.

Исходная ошибка numpy: Ошибка загрузки DLL: указанный модуль не найден.

независимо от Fierce Fly, 04 марта 2021 г. Комментарий

Какие бы ответы не были связаны с «Исходной ошибкой было: Ошибка загрузки DLL: указанный модуль не может быть найден numpy»

  • ModuleNotFoundError: нет модуля с именем imutils
  • Ошибка NU5012: невозможно найти bin\Release dll. Убедитесь, что проект собран.
  • ModuleNotFoundError: нет модуля с именем yaml
  • ModuleNotFoundError: нет модуля с именем «официальный».
  • Windows ModuleNotFoundError: нет модуля с именем «matplotlib.pyplot»; 'matplotlib' не является пакетом
  • из импорта _sqlite3 * ImportError: Ошибка загрузки DLL: не удалось загрузить модуль.
  • mac Нет модуля с именем 'numpy'
  • ImportError: Ошибка загрузки DLL при импорте _sqlite3: указанный модуль не найден.
  • zipline ImportError: Ошибка загрузки DLL: не удалось найти указанный модуль.
  • ModuleNotFoundError: модуль не назван
  • System.DllNotFoundException: невозможно загрузить DLL System.Security.Cryptography.Native: указанный модуль не найден.
  • из импорта plyfile PlyData ModuleNotFoundError: нет модуля с именем 'plyfile'
  • modulenotfounderror, модуль не назван
  • ImportError: Ошибка загрузки DLL при импорте win32api: указанная процедура не найдена.
  • ImportError: Ошибка загрузки DLL при импорте файла win32: указанный модуль не найден.
  • не удалось скомпилировать модуль не найден: не удается разрешить
  • Не удалось загрузить DLL при импорте _ssl: указанный модуль не найден.
  • glew32.dll не найден
  • выполнение кода не может быть продолжено, так как glew32.dll не найден

Любые запросы, связанные с «Исходной ошибкой: ошибка загрузки DLL: указанный модуль не может быть найден numpy»

Зарегистрируйтесь, чтобы голосовать и добавлять примеры кода. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!

Помогите нам улучшить наши примеры кода, зарегистрировавшись, чтобы проголосовать и добавить ответы. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!


Продолжая, я подтверждаю, что прочитал и согласен с Условиями использования и Политикой конфиденциальности Greppers.

Исходная ошибка numpy: Ошибка загрузки DLL: указанный модуль не найден.

независимо от Fierce Fly, 04 марта 2021 г. Комментарий

Какие бы ответы не были связаны с «исходной ошибкой numpy было: ошибка загрузки dll: указанный модуль не найден».

  • ModuleNotFoundError: нет модуля с именем imutils
  • Ошибка NU5012: невозможно найти bin\Release dll. Убедитесь, что проект собран.
  • ModuleNotFoundError: нет модуля с именем yaml
  • ModuleNotFoundError: нет модуля с именем "pyvis"
  • ModuleNotFoundError: нет модуля с именем «официальный».
  • импортошибка: нет модуля с именем numpy ubuntu
  • Windows ModuleNotFoundError: нет модуля с именем «matplotlib.pyplot»; 'matplotlib' не является пакетом
  • mac Нет модуля с именем 'numpy'
  • ImportError: Ошибка загрузки DLL при импорте _sqlite3: указанный модуль не найден.
  • ModuleNotFoundError: нет модуля с именем openpyxl
  • zipline ImportError: Ошибка загрузки DLL: не удалось найти указанный модуль.
  • ModuleNotFoundError: нет модуля с именем 'matplotlib.pyplot'; 'matplotlib' не является пакетом
  • System.DllNotFoundException: невозможно загрузить DLL System.Security.Cryptography.Native: указанный модуль не найден.
  • из импорта plyfile PlyData ModuleNotFoundError: нет модуля с именем 'plyfile'
  • ImportError: Ошибка загрузки DLL при импорте win32api: указанная процедура не найдена.
  • ImportError: Ошибка загрузки DLL при импорте файла win32: указанный модуль не найден.
  • не удалось скомпилировать модуль не найден: не удается разрешить
  • numpy не устанавливается
  • Не удалось загрузить DLL при импорте _ssl: указанный модуль не найден.
  • glew32.dll не найден
  • выполнение кода не может быть продолжено, так как glew32.dll не найден

Любые запросы, связанные с «исходной ошибкой numpy: ошибка загрузки dll: не удалось найти указанный модуль».

Зарегистрируйтесь, чтобы голосовать и добавлять примеры кода. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!

Помогите нам улучшить наши примеры кода, зарегистрировавшись, чтобы проголосовать и добавить ответы. Присоединяйтесь к нашему сообществу разработчиков, чтобы улучшить свои навыки разработки и программировать как босс!


Продолжая, я подтверждаю, что прочитал и согласен с Условиями использования и Политикой конфиденциальности Greppers.

Читайте также: