2009-02-26 4 views

答えて

16

反射器にはツールDiffがあります。

+0

良いもの、ありがとう – flesh

+0

これは最新の反射板のバージョンではまだ動作しますか?私のほうがdiffを実行してクラッシュしました。 – mkmurray

+0

最新バージョン(6.5)で動作させることができませんでした。 – theChrisKent

4

最初に分解して比較するのはなぜですか?

+1

Reflectorでエクスポートして、Beyond Compareとディレクトリを比較しました。ただ素晴らしい! :) –

4

使用.NET Reflector(無料版は、あなたが必要とするすべてである)のdllを開くために、その後、別のディレクトリにエクスポートするために右クリックして選択します。

次に、ExamDiff Proを使用してディレクトリを比較します(30日間の無料試用版が入手できます)。サブフォルダをナビゲートし、必要に応じて各ファイルを新しい比較ウィンドウに開くことができます(ExamDiff Proウィンドウでダブルクリックするだけです)。 素晴らしい作品!

ExamDiff Proには、.dllファイルと.exeファイルの間で直接比較するDump PE32プラグインもあります。これはヘッダの変更を見て、バイナリの違いにフラグを立てますが、あなたのためにそれを逆コンパイルしません(上記のReflectorメソッドを使用してください)。

+0

これはうまくいきません。私はリフレクターのコードをちょうどいいと思う。 エクスポートすると134個のエラーが発生します。 完了。 – hamish

17

dotPeek JetBrainsからのものも使用できます。それはまた無料です。

  • オープンdotPeek
  • で組み立てまでは、アセンブリ
  • ファイルを選択 - >ディスク

上の場所を選択します

  • を投影するエクスポートしたいアセンブリのために上記を繰り返します比較するには、差分ツールで2つのフォルダを開きます。私はWinMergeを使用しました。

    大部分のファイルには違いがあります。 ">フィルタ...

  • 後藤 - このファイルは、この

    // MVID: {some guid here} 
    

    などの上部にコメントを持っているので、あなたはそれを

    • ツールを無視するWinMergeの中でフィルタを作成することができますです大丈夫、あなたの変更は、それが再スキャンされますときにラインフィルタ」タブ
    • は、次のフィルタ^// MVID:

    を追加します。そのコメントで始まる行はすべて無視します。これで、興味のある変更だけが表示されるはずです。

  • +2

    これは素晴らしい作品で、完全に無料です。ただし、フィルタを追加する必要があります。私は '^ // Assembly location:'を追加しなければなりませんでした。ありがとうコリン – mariozski

    +0

    また、ラインフィルターを有効にするチェックボックスオプションをクリックしてください。私はそれを逃した、もともと、私の頭を傷つける10分を過ごした。 –

    0

    マイクロソフトBCLチームはツールを持ってこれに行う、それがLibCheckと呼ばれていますし、ここに

    http://blogs.msdn.com/b/bclteam/archive/2005/03/21/400123.aspx

    これは古いツールである、と私は、以降のバージョンを使用してソースを再コンパイルする必要がありました見つけることができますランタイムですが、うまく動作し、変更に関するhtmlレポートを提供します。

    関連する問題