很多搞.NET开发的可能也跟都有这个习惯,在编写.NET托管程序的时候,喜欢用到以前的一些类库,或是第三方提供的类库,由于没有采用源码方式来编译(没有编译到同一程序集中).这样一来,编译好的应用程序就可能是N个散列的文件。更有一点需要注意的是,用户可以非常简单的就看出,你用到了哪些第三方的类库...我想这应该都不是大家很喜欢看到的吧,其实,利用.NETZ这个开源的免费小工具,就可以非常简单的达到隐藏具体细节的功能,并且,可以使得程序启动速度加快喔,且看以下对.NETZ的简单介绍。
.NETZ是一款免费开源工具,它可以压缩和打包微软.NET框架可执行文件(EXE,DLL)以使他们更小。更小的可执行文件占用的磁盘空间较少且因为读取文件时对磁盘的访问较少而使读取数度更快。它和PE(portableexecutable)打包工具不一样,.NETZ是使用C#编写的存粹的.NET解决方案。.NETZ可以用来打包几乎每一种.NET支持的语言编写的程序。.NETZ支持.NETEXE和非共享(non-shared)的DLL文件。压缩过的程序能以相同的方式解压缩这些对最终用户是透明的。
呵呵,看样子,的确不错吧,下面我们就具体操作一下试试。。。
以我以前所编写的[C#开发的SharpDict在线词典]为例子说明,若点下载该程序,可以发现是一个exe文件,那是用了MS一个牛人写的HTML控件(本来在framework1.1下没有WebBrowser控件,需要用到AXbrowser控件了)。借用用了一下牛人的源码,编译成单个文件,看起来还是蛮舒服的。
前几天,有朋友说我那个程序的界面实在是寒酸,现在的N多软件一般都支持换肤功能,为什么不给SharpDict也加上个换肤功能呢,那样用户体验岂不是又更爽了点?说的也是,那就给增加换肤的功能吧。可手头暂时没有写过换肤的软件,没有相应源码,自己实现起来也太麻烦了。用别人的吧,DOTNETSKIN就是一个不错的控件,只需要调用一个DLL文件,就可以是.NET托管程序有着良好的用户界面。
图一、字典增加换肤功能,看起来似乎的确舒服点了
可新的问题又来了,多了一个文件,dotnetskin.dll,体积大了“好多”(424K),如图二所示。
图二、使用第三方控件后体积大了不少
现在我们就使用.NETZ这个工具试试。
进入.\SharpDict\bin\Release\目录,执行以下命令
图三、执行打包命令
呵呵,看看效果。嗯看来的确不错,在新产生的目录SharpDict.exe.netz下,可以看到相关文件的确已经合并成一个EXE文件了.体积为244K,不错吧,是不是也想马上试试了呢?
图四、“打包”后体积减小多了
相关资源
DOTNETSKIN http://link-rank.com/
.NETZ下载地址 http://madebits.com/netz/download.php
.NETZ使用帮助 http://madebits.com/netz/help.php
SharpDict下载 http://go.csharp.googlepages.com/SharpDict.exe.netz.rar(美化版)