Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

7年前关闭。



Improve this question




我正在开发一个SDK。当我发布新版本时,我想生成有关API差异的报告。这不是代码中的差异。大部分代码不应直接使用。我感兴趣的是公共(public)类/方法。此外,我们采用了约定,即SDK的客户端不应使用包含实现的 namespace 中的任何内容。因此,我正在寻找公共(public)接口(interface),类和方法之间的差异,这些差异不在包含实现的 namespace 中。我想知道两个版本之间已删除,添加和修改的内容。

我在正确的位置找到了一个来自Microsoft的名为LibCheck的工具。我在使用LibCheck时遇到了几个问题。 LibCheck无法识别已修改的方法。它报告该方法已被删除和添加。它有时报告已删除并添加了一个方法,但是名称和参数都相同。我不知道在这些情况下它试图告诉我什么。最后,我不在乎报告的布局。我想按 namespace 以及程序集和类进行分割。

我知道这些报告是XSLT转换的结果,无论如何,我都可以使它们看起来基本一样。还有其他问题,再加上微软普遍缺乏对该工具的支持,这让我一直在寻找替代方案。

最佳答案

还有http://apichange.codeplex.com具有差异选项。这样称呼它

ApiChange -diff -old $net2dir\System.dll -new $net4dir\System.dll

你应该得到报告。

10-04 18:50