我开发了一个对.NET程序进行瘦身的工具

    我开发了一个对.Net程序瘦身的工具,可以把被引用但是没有被使用的程序集删除。我用它把一个.Net core程序从147兆瘦身到59.5兆。

896567803a64b262ef8ddc44bace5253.png

    .NET中发布程序的时候有对程序集进行剪裁的功能,但是那个功能只能做静态检查。比如我们的项目使用了A程序集,A程序集中的类有M1、M2两个方法,M1方法中又调用了B程序集的代码,M2方法中调用了C程序集的代码。如果我们的程序中只调用了M1方法,而没有调用M2方法,那么用.NET的剪裁是不能把没有被调用的M2方法中的调用的C程序集剪裁掉的。

我的这个工具可以做运行时检查,会把在运行时完全没有被调用(会考虑到反射等动态机制)的程序集删除掉。.NET中发布程序的程序集剪裁功能也不支持WinForm、WPF项目。

    我的这个工具的实现原理并不复杂,但是我找了一圈都没有找到类似软件,所以就自己写了一个。大家如果知道有这样的工具,请告诉我,如果确认这是我的首创的话,我会把这个软件完善(测试各种项目和.NET版本以及各个操作系统的兼容性)后发布并开源。

    如果这个项目开源的话,我会发布到我的自媒体,各位朋友可以关注我的哔哩哔哩、今日头条、抖音、微博、油管等频道,频道名都是“杨中科”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值