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

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

CurlSharp的更多相关文章

随机推荐

  1. Arm环境搭建-基于博创科技(CentOS7.0系统安装篇1)

    CentOs 7.0安装和基本命令篇        目的:学习基本的linux命令,熟悉linux操作系统,安装linux.(安装过5.5,6.3并不是安装一帆风顺的,多次安装,有个10次多吧,基本会 ...

  2. 三、Java基础---------关于继承、构造函数、静态代码块执行顺序示例讲解

    在上节博客中曾提到过类的继承,这篇文章主要是介绍类的继承.构造函数以及静态代码块的执行顺序. 首先接着分析在黑马基础测试中的一个关于继承的题目,题目描述如下: 声明类Person,包含2个成员变量:n ...

  3. 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)

    前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...

  4. Linode 优惠码

    Linode 是最好的vps $10的优惠码 Linode10,推荐码:bc7852453e280eee5a8ef045c5ab54ca091c8021 链接https://www.linode.co ...

  5. Spark实战2:Zeppelin的安装和SparkSQL使用总结

    zeppelin是spark的web版本notebook编辑器,相当于ipython的notebook编辑器. 一Zeppelin安装 (前提是spark已经安装好) 1 下载https://zepp ...

  6. 函数后面加throw关键字

    [1]为什么函数后面加throw关键字? C++函数后面加关键字throw(something)限制,是对这个函数的异常安全性作出限制. 举例及解释如下: void fun() throw() 表示f ...

  7. zabbix如何实现微信报警 转载

    现实生产环境中,我们通常使用邮件和短信接受zabbix报警信息,但是邮件经常被工作人员搁置在角落中甚至被设置为垃圾邮件被过滤掉.公司的短信接口又太贵,复杂环境中使用短息报警会使运维成本增加很多.微信提 ...

  8. XML 解析 -- IE ,Chrome

    通用的method <script type="text/javascript"> //for chrome, attach method to XMLDocument ...

  9. Reverse Linked List II

    /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode ...

  10. Quartz2D简介及基本线条绘制

    * Quartz2D简介 1.什么是Quartz2D? 他是一个二维的绘图引擎,同时支持iOS和Mac系统 2.Quartz2D能完成的工作 画基本线条,绘制文字,图片,截图,自定义UIView. 3 ...