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. У меня есть эта проблема, когда я использую "Любой процессор" и меняю его. Чтобы сделать следующее:
- Щелкните правой кнопкой мыши по вашему проекту в VS
- Нажмите на свойства
- Перейдите на вкладку "Сборка".
- Выберите ваше значение в "Платформа"
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/