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
项目编译的时候需要选择目标平台