.NETアセンブリのコンパイルと比較できる優れたプログラムはありますか?
たとえば、HelloWorld.dll(1.0.0.0)とHelloWorld.dll(2.0.0.0)があります。違いを比較したいのですが、どうすればよいですか?
.NET ReflectorとAssembly Diffプラグインを使用できることはわかっています。これを行うための他の良いツールはありますか?
二つの方法。
ILDASMを使用して、従来のツールと比較できます。
または、その機能にコストがかかるNDependsを使用することもできます。
[P#からC#への拡張。]
同じバージョンの同じDLLの2つのリビジョンを比較するだけでした(小さな修正プログラムを実装し、DLLを本番環境に展開する必要がありましたが、他の変更がコードにリークしました。理想的には、Assemby Diffアドインで違いを表示したいのですが、機能しません(DLLをそれ自体と比較していると思われます) )これが私がしたことです:
それは少し賢いですが、動作するようです。ただし、Assembly Diffアドインが機能することを願っています。
更新:Assembly Diffアドインの最新バージョンは、同じアセンブリの2つのバージョンを比較する問題を修正することになっています。試してみる。
ツール NDepend は、.NETコードdiffを処理するための多くの機能を提供します。 免責事項:私はツールの開発者の1人です。
パネルSearch by Changeは、アセンブリコードの相違の参照専用です。次のことに注意してください。
スクリーンショットで、差分を参照するために CQLinqコードクエリ が生成されていることにも注意してください。
from m in Application.Methods
where m.CodeWasChanged()
select new { m, m.NbLinesOfCode }
他にも多くのデフォルトのdiffクエリとルールがデフォルトで提案されており、.NETコードのdiffをスマートに閲覧できます。