Невозможно загрузить DLL «UNRAR.DLL»: указанный модуль не найден - PullRequest
0 голосов
/ 13 марта 2012

Я только что скачал UnRAR.dll из http://www.rarlab.com/rar_add.htm пакет включает пример проекта C # при запуске в VS 2010 после выбора файла .rar для извлечения. Я получаю сообщение об ошибке ниже

Unable to load 'UNRAR.DLL'

и когда я добавляю ссылку unrar.dll, я получаю сообщение об ошибке ниже

unrar.dll could not be loaded

Пожалуйста, помогите / укажите мне, что мне не хватает?

Ответы [ 2 ]

5 голосов
/ 13 марта 2012

UnRAR.dll не является сборкой .NET, поэтому его нельзя использовать в качестве ссылки на проект.

Это нативная DLL, поэтому вам нужно использовать P / Invoke для доступа к ее методам или написать оболочку C ++ / CLI.

В этой ветке форума MSDN есть пример кода *1006*, который должен обеспечить достойную стартовую позицию и показать необходимый подход.

Похоже, что в проект Blue Mirror CD / DVD Indexer также входит довольно полная оболочка *1012*.


Следует также отметить, что SevenZipSharp включает в себя поддержку этого готового решения. Я сам этим не пользовался, но, возможно, стоит проверить.

2 голосов
/ 13 марта 2012

Образец, о котором вы говорите, использует

[DllImport("unrar.dll")]

для доступа к функциям внутри библиотеки.

Эта DLL должна быть видна при запуске тестового проекта.
Поэтому вам следуетскопируйте его в папку BIN \ DEBUG или в папку, в которой выполняется ваш проект.

...