私は、APIを提供するアセンブリをいくつかの他のアセンブリで使用しています。新しいバージョンのAPI dllが古いバージョンのAPIを使用していた古いアセンブリと互換性があることを確認する必要があります。.netアセンブリ間のAPIの下位互換性をテストする方法
私は同じことを尋ねる質問のカップルを見つけたが、私の問題を解決する何の答えはありません。
推奨ツールは2つだけを比較することができます最新のAPIがそれを使用している古いアセンブリを実際に破壊するかどうかはわかりません。 ツールを見つけたり、古いDLLのそれぞれが新しいAPI dllで動作するかどうかを確認できるテストを書いてみたいと思います。
APIの変更に関しては、私はそれを拡張するしかありませんが、古いアセンブリでもコードを破損する可能性があります。このような変更の例のいくつかは、ここで見つけることができます:
- A definite guide to API-breaking changes in .NET
- .NET: with respect to AssemblyVersion, what defines binary compatibility?
は、今の私が見る唯一の解決策は、最新のAPIと古いアセンブリのソースコードをコンパイルすることです私はアセンブリだけでそれを行い、単体テストの一部としてそれらを追加したいと思います。私がそれを処理できるより良い方法はありますか?
編集:
私は、.NETアセンブリ間の下位互換性を検証するプロセスを自動化することができるようになりますツールを探しています。 (コマンドラインまたはいくつかのAPIもあります)
これはおそらく私が理解していないことですが、あなたが探しているツールが、組み合わせたソースをコンパイルするだけで、よりうまくやることができます。つまり、意図したやり方で急激な変化を分析できるようにするには、古いソースと新しいソースの両方を必要とするでしょうか? –
@GertArnold質問を更新しました。私はこのプロセスを自動化したいので、手動でソースコードをコンパイルするか手動でツールを実行するのが便利ではないかもしれません。 – username