npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案
项目中一直使用NPOI与memcached,一直相安无事,但是最近升级了npoi到最新版本,发生了ICSharpCode.SharpZipLib的版本冲突问题.
因为此前一直使用的是NPOI的1.x的版本,用的SharpZipLib是0.84版本,而升级到最新版本以后,SharpZipLib的版本变成了0.86版本.
但是memcached的却没有最新版本供使用,而只能使用0.84的版本.
那么问题就来了,该如何解决同一个dll不同版本的冲突问题呢?
目前可以在gitbub上获取到最新版本的npoi的源码,so我们把源码down下来重新修改为0.84的版本就可以了啊.
想法是很好的,但是down下源码编译的时候,却发现源码里缺少文件导致编译不成功.
so,文的不行,那就只能来武的啦.
拿出ILDSM反编译出NPOI的il代码,然后直接修改引用为0.84版本.
{
.publickeytoken = (B7 7A 5C E0 ) // .z\V.4..
.ver :::
}
.assembly extern System.Drawing
{
.publickeytoken = (B0 3F 5F 7F D5 0A 3A ) // .?_....:
.ver :::
}
.assembly extern System.Windows.Forms
{
.publickeytoken = (B7 7A 5C E0 ) // .z\V.4..
.ver :::0
}
.assembly extern ICSharpCode.SharpZipLib
{
.publickeytoken = (1B E6 AC F1 4F ) // ......Os
.ver 0:84:0:0
}
.assembly extern mscorlib as mscorlib_6
{
.publickeytoken = (B7 7A 5C E0 ) // .z\V.4..
.ver :::
}
.assembly extern System.Configuration
{
.publickeytoken = (B0 3F 5F 7F D5 0A 3A ) // .?_....:
.ver :::
}
http://blog.csdn.net/a497785609/article/details/8662295
然后就很简单啦,因为NPOI是强签名过的文件,我们需要把源码中的签名文件
npoi.snk拿出,然后通过ilasm反编译为dll即可.
同样还需要修改的文件为NPOI.OpenXml4Net.dll.
此处,考虑到大家在项目中同时使用这2个第三方库的会有很多,提供下我已经修改好的dll给大家下载使用.
另外一种解决方案:
http://blog.csdn.net/lilong_herry/article/details/43059643
npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案的更多相关文章
- Vs 引用第三方DLL文件 版本不一致问题 (npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案)
最近在 做 MailChimp 与网站功能 集成时,发现 MailChimp 2API 中的 MailChimp.dll 中的依赖项 SerivceStack.Text.dll (版本为3.9.71 ...
- 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决
系统原来引用的ICSharpCode.SharpZipLib是0.84版本的, 添加了2.3版本的NPOI引用后,报版本冲突错误,因为NPOI用的ICSharpCode.SharpZipLib是0.8 ...
- 使用NPOI读取Excel报错ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature
写了一个小程序利用NPOI来读取Excel,弹出这样的报错: ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature ...
- Ubuntu中libprotobuf版本冲突的解决方案
先说解决方法: 因为我出现这个比较奇特,我再下面环境中的第一个项目有这个问题,但是不知道怎么瞎折腾就搞定了,不报这个异常了 不论是Qt Creator直接运行Debug或者Release都没问题 但是 ...
- jar包中的依赖jar版本冲突
背景,项目中之前引入了一个 图片上传的jar <groupId>commons-fileupload</groupId> <artifactId>commons-f ...
- Newtonsoft.Json 版本冲突时解决方案
如果同一项目中不同第三方类库分别使用了不同版本的Newtonsoft.Json的情况下,可以在主项目配置文件中添加以下节点,将0.0.0.0-11.0.0.0此区间的Newtonsoft.Json使用 ...
- ICSharpCode.SharpZipLib 开源压缩库使用示例
官方网站:http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 插件描述: ICSharpCode.SharpZipLib.dl ...
- maven exclusion 解决maven传递依赖中的版本冲突
传递依赖是maven最有特色的.最为方便的优点之一,可以省了很多配置.如a 依赖 b,b 依赖c 默认 a也会依赖 c.但是也会带来隐患,如版本冲突.当然maven也考虑到解决办法,可以使用exclu ...
- spring maven项目解决依赖jar包版本冲突方案
引入:http://blog.csdn.net/sanzhongguren/article/details/71191290 在spring reference中提到一个解决spring jar包之间 ...
随机推荐
- C#设计模式(13)——代理模式(Proxy Pattern)
一.引言 在软件开发过程中,有些对象有时候会由于网络或其他的障碍,以至于不能够或者不能直接访问到这些对象,如果直接访问对象给系统带来不必要的复杂性,这时候可以在客户端和目标对象之间增加一层中间层,让代 ...
- [51单片机] SPI nRF24L01无线 [可以放在2个单片机里实现通信]
main.c #include<reg51.h> #include"2401.h" #define uint unsigned int #define uchar un ...
- [51单片机] nRF24L01 无线模块 测试 按键-灯-远程控制
哈哈,穷吊死一个,自己做的一个超简单的板还没有电源提供,只得借助我的大开发板啦.其实这2个模块是完全可以分开的,无线嘛,你懂得!进入正题,这个实验的功能就是一个发送模块(大的那个板)连接4个按键,通过 ...
- 【原】关于使用jieba分词+PyInstaller进行打包时出现的一些问题的解决方法
错误现象: 最近在做一个小项目,在Python中使用了jieba分词,感觉非常简洁方便.在Python端进行调试的时候没有任何问题,使用PyInstaller打包成exe文件后,就会报错: 错误原因分 ...
- 【原创】jmeter3.0在beanshell中输入中文乱码以及字体大小的更改
我使用的是最新的jmeter3.0版本,新建一个beanshell sampler,在里面输入中文,发现显示的是乱码,而且字体非常小,看着吃力,调研了一下,可以在bin/jmeter.properti ...
- atitit.web的动态include 跟变量传递 java .net php
atitit.web的动态include 跟变量传递 java .net php 1. 动态include <jsp:include 1 2. 使用QueryString 1 3. 使用Ses ...
- atitit.提升开发效率---MDA 软件开发方式的革命(4)----编辑表单建模
)----编辑表单建模 1. 建模语言的选型anno+html...不是uml 1 2. 指定显示模板 @BeanEditForm(tmplt="c:/edit.html") 1 ...
- beego中orm关联查询使用解析
这两天在学习beego框架,之前学习的时候遗漏了很多东西,比如orm.缓存.应用监控.模板处理等,这里将通过实例记录下如何使用beego自带的orm进行关联查询操作. 首先说明下,beego的orm有 ...
- RTMP协议
Real Time Messaging Protocol(实时消息传送协议协议)概述 实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频.视频和数据传输开发的私有协 ...
- 今日例子border
border这个属性在页面上的使用率还是很高,例如我们需要理解的盒模型就需要对border有个 比较深的理解,如果你会盒模型,但对border没有深的理解,那只能说你只是知道盒模型,而 不是懂得盒模型 ...