7-Zip在.net中的使用

 

1.       添加7z.dll

由于7z.dll 是二进制文件,在.net 中不能像添加reference的方式进行引用。对于这种情况,微软采用命令的方式将7z.dll 添加至工程引用。

 

(1)     在工程上点击右键,选择“属性”:

属性

 

(2)     在“Build Event”编写命令行,使其在编译的时候,可以引用上7z.dll

命令行

 

不用担心书写的格式与语法,微软提供了编写工具。

1)       Edit Post-build

2)       根据弹出的对话框,选择相应的路径

3)       使用 copy命令,从源文件地址复制到指定的位置

2.       由于二进制的7zip本身是不能编译为IL文件的,国外有高人对它进行了.net封装,添加SevenZipSharp引用。

添加引用

 

引用文件

 

 

3.       OK, 准备工作就绪。下面就进入代码的编写的阶段了。

对于7zip的配置还是比较麻烦的,这里,我仅仅是对rar文件进行解压

 

 

 

这里需要注意的是,必须要找到7z.dll 所在的位置,然后才能进行调用。

string _sevenZipDllPath = Application.StartupPath;

string zPath = Path.Combine(_sevenZipDllPath, "7z.dll");

当使用单元测试的时候,由于每次路径都是发生变化的,我们可以采用如下的方法获取文件路径所在位置:

 //for vs.net unit test

 string _sevenZipDllPath = System.Reflection.Assembly.GetExecutingAssembly().Location;

 _sevenZipDllPath = _sevenZipDllPath.Substring(0, _sevenZipDllPath.LastIndexOf("//"));

4.       测试解压,all passedJ

 

Reference

 

7-Zip 中文官方网站:

http://7z.sparanoid.com/

 

7-Zip 常见问题解答

http://aspnet.bc8.com.cn/news/view/229/52882.html

 

.NET应用程序中使用7-Zip的压缩/解压缩功能

http://www.infoq.com/cn/news/2008/06/7-Zip-from-.NET

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值