好友
阅读权限20
听众
最后登录1970-1-1
|
经常部署.NET软件的同学一定知道,.NET可以以XCOPY方式部署,直接将编译好的程序集复制到其它电脑上即可,非常方便。
但有时候,一些公有的程序集,也就是存在于GAC中的程序集,没有复制到程序部署包中,遇到这类问题,非常头疼,经常要去找源代码开发人员,反复确认开发程序时,引用了哪个文件,耗费很多时间。
有时候开发人员都不在了,根本不从查起。这个问题我之前遇到过,一个医药程序包,怎么都跑不起来,后来费了九牛二虎之力,才发现是缺少log4net.dll 这个程序集,而且还要找特定的版本,这个过程只有经历过的人才有深刻体会。
我推荐一个工具AsmSpy,首先申明不是我写的,我是推荐,源代码在https://github.com/mikehadlow/AsmSpy
下载源代码之后,用Visual Studio编译完成,然后将它放到Path环境变量中,再以控制台方式运行这个命令
AsmSpy KISPlugIn.dll
很快就能显示 KISPlugIn.dll 这个DLL 到底引用了多少程序集,如果找不到,它还会以红色字体输入,非常方便。 控制台输出的颜色含义如下:
绿色:引用的程序集在当前文件夹中。
黄色:引用的程序集在GAC中
红色: 引用的程序集找不到
当然,这个工具只能分析静态引用,不可能分析得到以反射的方法动态调用的程序集,这是不可避免的,但是有这个工具,能处理90%以上的部署问题,很不错,推荐给大家。
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|