项目中一直使用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版本冲突的解决方案的更多相关文章

  1. Vs 引用第三方DLL文件 版本不一致问题 (npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案)

    最近在 做 MailChimp 与网站功能 集成时,发现 MailChimp 2API 中的 MailChimp.dll  中的依赖项 SerivceStack.Text.dll (版本为3.9.71 ...

  2. 使用NPOI时ICSharpCode.SharpZipLib版本冲突问题解决

    系统原来引用的ICSharpCode.SharpZipLib是0.84版本的, 添加了2.3版本的NPOI引用后,报版本冲突错误,因为NPOI用的ICSharpCode.SharpZipLib是0.8 ...

  3. 使用NPOI读取Excel报错ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature

    写了一个小程序利用NPOI来读取Excel,弹出这样的报错: ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature ...

  4. Ubuntu中libprotobuf版本冲突的解决方案

    先说解决方法: 因为我出现这个比较奇特,我再下面环境中的第一个项目有这个问题,但是不知道怎么瞎折腾就搞定了,不报这个异常了 不论是Qt Creator直接运行Debug或者Release都没问题 但是 ...

  5. jar包中的依赖jar版本冲突

    背景,项目中之前引入了一个 图片上传的jar <groupId>commons-fileupload</groupId> <artifactId>commons-f ...

  6. Newtonsoft.Json 版本冲突时解决方案

    如果同一项目中不同第三方类库分别使用了不同版本的Newtonsoft.Json的情况下,可以在主项目配置文件中添加以下节点,将0.0.0.0-11.0.0.0此区间的Newtonsoft.Json使用 ...

  7. ICSharpCode.SharpZipLib 开源压缩库使用示例

    官方网站:http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 插件描述: ICSharpCode.SharpZipLib.dl ...

  8. maven exclusion 解决maven传递依赖中的版本冲突

    传递依赖是maven最有特色的.最为方便的优点之一,可以省了很多配置.如a 依赖 b,b 依赖c 默认 a也会依赖 c.但是也会带来隐患,如版本冲突.当然maven也考虑到解决办法,可以使用exclu ...

  9. spring maven项目解决依赖jar包版本冲突方案

    引入:http://blog.csdn.net/sanzhongguren/article/details/71191290 在spring reference中提到一个解决spring jar包之间 ...

随机推荐

  1. QT中QProcess调用命令行的痛苦经历

    在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...

  2. SQL Server 处理树结构数据的一个示例

    没多少技术含量,在简单的系统里应用问题不大: 解决的问题是: 1.树结构数据的表设计: 2.对任意一个节点,找到他所有的上级节点 3.对任意一个节点,找到他所有的下级节点 这里的部分SQL是同事给的, ...

  3. C++ Primer学习笔记一

    /* 题目要求把字符串BRGBBGRRGBBGBBBGRRGBGRG按RGB顺序排列,空间复杂度为O(1) */#include<iostream> using namespace std ...

  4. Gradle中使用idea插件的一些实践

    如果你的项目使用了Gradle作为构建工具,那么你一定要使用Gradle来自动生成IDE的项目文件,无需再手动的将源代码导入到你的IDE中去了. 如果你使用的是eclipse,可以在build.gra ...

  5. 1-MSP430点亮一个灯

    为了写一篇文章做铺垫--提醒着自己,,,,,, 现在看一下程序 还是说一下是怎么关掉的 往WDTCTL寄存器里写入了0x5A00,,为什么要写这个呢! 那么 WDTCTL = 0x005A  + 0x ...

  6. paip.常用汉字形声字大全3500字

    paip.常用汉字形声字大全3500字 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.net/at ...

  7. paip. java resin 远程 调试 java resin remote debug

    paip. java resin 远程 调试 java resin remote debug 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 ...

  8. Leetcode 168 Excel Sheet Column Title 进制数转化

    题意:将数字转化成excel表中的行中的项目 本质是10进制转化为26进制,但是在中间加入了一个不一样的操作,在每次操作前都需要n-- class Solution { public: string ...

  9. Extjs4中RadioGroup的赋值与取值

    1.定义rg var rg = new Ext.form.RadioGroup({ fieldLabel : "test", items : [{ boxLabel : '每天', ...

  10. if else重复十多次的业务代码也是醉了

    嗯,一个页面同时刷这8个接口,我说能不能合并到一个网络接口,不用一个页面并发8个请求,他说太长了,不好合并. 我看了一下他代码,也是醉了,写了8个接口,访问的都是一个表,然后每个接口重复if else ...