System.DllNotFoundException: невозможно загрузить DLL 'libuv'

Для меня это никогда не было проблемой, прежде чем я установил пакет Newtonsoft.Json с помощью dnu (dnu install Newtonsoft.Json), который добавил пакет в проект и написал запись в project.json как "Newtonsoft.Json": "8.0.1" под узлом зависимостей.

dnu build успешно запущен после установки пакета. Теперь, когда я управлял командой dnx web следующая ошибка появилась внезапно!

Вот полный вывод:

{lamb} dnx web
System.DllNotFoundException: Unable to load DLL 'libuv': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.NativeMethods.uv_loop_size()
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.loop_size()
   at Microsoft.AspNet.Server.Kestrel.Networking.UvLoopHandle.Init(Libuv uv)
   at Microsoft.AspNet.Server.Kestrel.KestrelThread.ThreadStart(Object parameter)

Я понятия не имею, как я могу избавиться от этого!

3 ответа

Если вы используете "Любой процессор" Попробуйте изменить платформу сборки вашего проекта на x64 или x86. У меня есть эта проблема, когда я использую "Любой процессор" и меняю его. Чтобы сделать следующее:

  1. Щелкните правой кнопкой мыши по вашему проекту в VS
  2. Нажмите на свойства
  3. Перейдите на вкладку "Сборка".
  4. Выберите ваше значение в "Платформа"

Libuv DLL отсутствует в одном из пакета.

Для OSX вы можете решить, скопировав отсутствующий файл командой copy.
используйте следующую команду

cp /Users//.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib /Users//.dnx/packages/Microsoft.AspNet.Server. пустельга / 1.0.0-RC1-конечная / Библиотека /dnxcore50/

Может быть, у вас есть устаревшая библиотека libuv. Вы можете попробовать собрать и установить его из исходников. Это работает для меня на Fedora-x64 Linux:

# dnf install automake libtool wget
$ wget http://dist.libuv.org/dist/v1.8.0/libuv-v1.8.0.tar.gz
$ tar -zxf libuv-v1.8.0.tar.gz
$ cd libuv-v1.8.0
$ sh autogen.sh
$ ./configure
$ make
# make install
# cd /usr/local/lib
# cp libuv.* /usr/lib64/
# cp pkgconfig/libuv.pc /usr/lib64/pkgconfig/
Другие вопросы по тегам