.NET Core剪裁器的工作原理和背后技术具体是怎样的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2060个文字,预计阅读时间需要9分钟。
目录+技术1、测试程序加载的程序集和类+技术2、删除程序集中未使用的类+Dnlib使用的其他问题+收集一、Dnlib保存包含本地代码的程序集时遇到的问题+收集二、Dnlib的其他应用+十天前
目录
- 技术1、检测程序加载的程序集和类
- 技术2、删除程序集中用不到的类
- Dnlib使用的其他问题
- 收获一、Dnlib保存含有本地代码的程序集时候遇到的问题
- 收获二、Dnlib的其他应用
十天前,我发布了对.NET Core程序进行瘦身的开源软件Zack.DotNetTrimmer,与.NET Core内置的剪裁器相比,Zack.DotNetTrimmer不仅对程序的剪裁效果更好,而且还支持WPF、WinForm程序。
很多朋友对于这个开源项目的原理很感兴趣,因此我将通过这篇文章为大家介绍它的工作原理。
技术1、检测程序加载的程序集和类
微软提供了用于对.NET Core的运行时行为进行分析的库Diagnostics,它可以获取丰富的运行时信息,比如类的实例创建、程序集加载、类加载、方法调用、GC运行、文件读写操作、网络连接等。Visual Studio中对每个方法的调用时间进行评估的工具就是使用Diagnostics实现的。
要使用Diagnostics库,我们首先需要安装Microsoft.Diagnostics.NETCore.Client和Microsoft.Diagnostics.Tracing.TraceEvent这两个程序集,然后使用DiagnosticsClient类来连接被分析的.NET Core程序的进程。
本文共计2060个文字,预计阅读时间需要9分钟。
目录+技术1、测试程序加载的程序集和类+技术2、删除程序集中未使用的类+Dnlib使用的其他问题+收集一、Dnlib保存包含本地代码的程序集时遇到的问题+收集二、Dnlib的其他应用+十天前
目录
- 技术1、检测程序加载的程序集和类
- 技术2、删除程序集中用不到的类
- Dnlib使用的其他问题
- 收获一、Dnlib保存含有本地代码的程序集时候遇到的问题
- 收获二、Dnlib的其他应用
十天前,我发布了对.NET Core程序进行瘦身的开源软件Zack.DotNetTrimmer,与.NET Core内置的剪裁器相比,Zack.DotNetTrimmer不仅对程序的剪裁效果更好,而且还支持WPF、WinForm程序。
很多朋友对于这个开源项目的原理很感兴趣,因此我将通过这篇文章为大家介绍它的工作原理。
技术1、检测程序加载的程序集和类
微软提供了用于对.NET Core的运行时行为进行分析的库Diagnostics,它可以获取丰富的运行时信息,比如类的实例创建、程序集加载、类加载、方法调用、GC运行、文件读写操作、网络连接等。Visual Studio中对每个方法的调用时间进行评估的工具就是使用Diagnostics实现的。
要使用Diagnostics库,我们首先需要安装Microsoft.Diagnostics.NETCore.Client和Microsoft.Diagnostics.Tracing.TraceEvent这两个程序集,然后使用DiagnosticsClient类来连接被分析的.NET Core程序的进程。

