5

私はSDKに取り組んでいます。新しいバージョンをリリースしたら、API の違いについてレポートを作成したいと思います。これはコードの違いではありません。ほとんどのコードは、直接使用することは想定されていません。パブリック クラス/メソッドは、私が興味を持っているものです。さらに、実装を含む名前空間内のものは、SDK のクライアントによって使用されるべきではないという規則を採用しました。そのため、実装を含む名前空間にないパブリック インターフェイス、クラス、およびメソッドの違いを探しています。2 つのリリース間で何が削除、追加、変更されたかを知りたいです。

Microsoft の LibCheck というツールが適切な球場にあるのを見つけました。LibCheck にはいくつか問題があります。LibCheck は、変更されたメソッドを認識しません。メソッドが削除および追加されたと報告します。メソッドが削除されて追加されたと報告されることがありますが、名前とパラメーターはすべて同じです。これらの場合、それが私に何を伝えようとしているのかわかりません。最後に、レポートのレイアウトは気にしません。アセンブリとクラスだけでなく、名前空間ごとに分類したいと思います。

レポートが XSLT 変換の結果であることは承知しており、基本的に好きなように見せることができます。それでも、Microsoft からのツールに対する一般的なサポートの欠如と相まって、他の問題により、私は代替手段を探しています。

4

2 に答える 2

2

NDependなどのツールはこの仕事に非常に適しており、単なるテキストではなく「API」レベルで差分レポートを作成するための機能が組み込まれています。

ビルドとコードの差分を比較する

NDepend には独自のコード クエリ言語 CQL があり、高度にカスタマイズされた静的分析レポートを作成するために使用できます。

コード クエリ言語

于 2011-01-25T07:28:48.847 に答える
1

差分オプションがあるhttp://apichange.codeplex.comもあります。このように呼びます

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

そして、レポートを取得する必要があります。

于 2011-02-22T16:58:58.980 に答える