System.DllNotFoundException:无法加载DLL' libuv'

时间:2015-12-29 06:19:11

标签: asp.net-core dnx dnx50

对我而言,在使用dnu(dnu install Newtonsoft.Json)安装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 个答案:

答案 0 :(得分:3)

如果您正在使用"任何CPU"尝试将项目的构建平台更改为x64或x86。使用"任何CPU"我都有这个问题。并改变它解决它给我。要执行以下操作:

  1. 右键点击VS中的项目
  2. 点击属性
  3. 转到" Build"标签。
  4. 在" Plataform target"
  5. 中选择您的值

答案 1 :(得分:2)

其中一个软件包中缺少Libuv dll。

对于OSX,您可以通过复制命令复制丢失的文件来解决 使用以下命令

cp /Users//.dnx/packages/Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final/runtimes/osx/native/libuv.dylib /Users//.dnx/packages/Microsoft.AspNet .Server.Kestrel / 1.0.0-RC1-最终/ LIB / dnxcore50 /

答案 2 :(得分:1)

也许你有过时的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/