.NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
Posted lonelyxmas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化相关的知识,希望对你有一定的参考价值。
原文:.NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
最近我大幅度重构了我一个库的项目结构,使之使用最新的项目文件格式(基于 Microsoft.NET.Sdk)并使用 SourceYard 源码包来打包其中的一些公共代码。不过,最终生成了一个新的 dll 之后却心有余悸,不知道我是否删除或者修改了某些 API,是否可能导致我原有库的使用者出现意料之外的兼容性问题。
另外,准备为一个产品级项目更新某个依赖库,但不知道更新此库对我们的影响有多大,希望知道目前版本和希望更新的版本之间的 API 差异。
索性发现了 JustAssembly 可以帮助我们分析程序集 API 的变化。本文将介绍如何使用 JustAssembly 来分析不同版本程序集 API 的变化。
下载和安装 JustAssembly
JustAssembly 是 Telerik 开源的一款程序集分析工具。
你可以去它的官网下载并安装:Assembly Diff Tool for .NET - JustAssembly。
开始比较
启动 JustAssembly,在一开始丑陋(逃)的界面中选择旧的和新的 dll 文件,然后点击 Load
。
然后,你就能看到新版本的 API 相比于旧版本的差异了。
关于比较结果的说明
在差异界面中,差异有以下几种显示:
- 没有差异
- 以白色底显示
- 新增
- 以绿色底辅以
+
符号显示
- 以绿色底辅以
- 删除
- 以醒目的红色底辅以
-
符号显示
- 以醒目的红色底辅以
- 有部分差异
- 以蓝紫色底辅以
~
符号显示
- 以蓝紫色底辅以
这里可能需要说明一下“部分差异”:由于差异是以树状结构显示的,所以如果子节点有新增,那么父节点因为既有新增又存在未修改的节点,所以会以“有部分差异”的方式显示。
对于每一个差异,双击可以去看差异的代码详情。
上图我的 SourceFusion 项目在版本更新的时候只有新增的 API,没有修改和删除的 API,所以还是一个比较健康的 API 更新。
参考资料
我的博客会首发于 https://blog.walterlv.com/,而 CSDN 会从其中精选发布,但是一旦发布了就很少更新。
如果在博客看到有任何不懂的内容,欢迎交流。我搭建了 dotnet 职业技术学院 欢迎大家加入。
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:https://walterlv.blog.csdn.net/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。
以上是关于.NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化的主要内容,如果未能解决你的问题,请参考以下文章