CurlSharp

https://github.com/masroore/CurlSharp

clone版本库之后,在本地使用,会遇到找不到dll的情况

 

编译EasyGet项目之后,进行调试,会提示

System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
在 CurlSharp.NativeMethods.curl_global_init(Int32 flags)
在 CurlSharp.Curl.GlobalInit(CurlInitFlag flags) 位置 D:\SourceCode\GitHub\CurlSharp\CurlSharp\Curl.cs:行号 75
在 EasyGet.EasyGet.Main(String[] args) 位置 D:\SourceCode\GitHub\CurlSharp\Samples\EasyGet\EasyGet.cs:行号 17

 

问题在于:

编译CurlSharp项目的时候,生成的CurlSharp.dll自动复制到了EasyGet项目的生成路径

但是libcurl.dll这些有依赖关系的库,没有一同拷贝过去

 

处理方法:

1.CurlSharp项目独立编译,并将编译后的dll,直接复制到EasyGet项目的生成路径[包括依赖的库]

2.然后EasyGet项目,直接将生成路径下的CurlSharp.dll 直接作为引用进行添加  (源代码里面,默认是直接将CurlSharp项目作为引用添加到EasyGet项目的)

 

 

另外需要注意的是,dll的版本,区分x86和x64

项目编译的时候需要选择目标平台

 

posted @ 2016-07-20 15:24  ChuckLu  阅读(610)  评论(0编辑  收藏  举报