内容简介:最近我大幅度重构了我一个库的项目结构,使之使用最新的项目文件格式(基于 Microsoft.NET.Sdk)并使用 SourceYard 源码包来打包其中的一些公共代码。不过,最终生成了一个新的 dll 之后却心有余悸,不知道我是否删除或者修改了某些 API,是否可能导致我原有库的使用者出现意料之外的兼容性问题。另外,准备为一个产品级项目更新某个依赖库,但不知道更新此库对我们的影响有多大,希望知道目前版本和希望更新的版本之间的 API 差异。索性发现了 JustAssembly 可以帮助我们分析程序集 AP
最近我大幅度重构了我一个库的项目结构,使之使用最新的项目文件格式(基于 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 更新。
参考资料
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 天地伟业杨清永:AI+安防,带来的两个思维变化
- 记一次ajax的JSESSIONID 变化解决、非跨域变化
- ReactNative字体大小不随系统字体大小变化而变化
- 如何在Hibernate/JPA中配置具有两个连接池的两个数据源
- 三月新变化
- 2019 年总结:拥抱变化
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Master Switch
Tim Wu / Knopf / 2010-11-2 / USD 27.95
In this age of an open Internet, it is easy to forget that every American information industry, beginning with the telephone, has eventually been taken captive by some ruthless monopoly or cartel. Wit......一起来看看 《The Master Switch》 这本书的介绍吧!