1

.NET に 2 つのライブラリ (LB1 と LB2 という名前) を使用する Windows アプリケーションがあります。これらのライブラリはどちらもサードパーティのライブラリです。現在、クライアントは、LB1 アセンブリを完全に削除するために、LB1 コンポーネントを LB2 コンポーネントに置き換えることを望んでいます。(コスト削減のためかもしれません)

LB1 で達成されたコントロール/メソッド/その他の機能が LB2 でも達成できるかどうかを確認する必要があります。

これどうやってするの?

  1. 手動で(試してみましたが、いくつかのコントロールを特定するのに時間がかかりました)
  2. どんなツールでも。

また、LB1.Component1 を LB2.Component2 に置き換えることができることがわかった場合、コード全体を変更するにはどうすればよいですか?

  1. 手動 (すべてのコントロールを個別に置き換えるには長い時間がかかります)
  2. 任意のツールまたはスクリプトによって

私の質問が明確であることを願っています。そうでない場合は、コメントを残してください。さらに詳しく説明します。

編集: LB1 の各コントロールに対して LB2 にミラー コピーがあることをクライアントが確認しましたが、正確なマッピング (名前) はわかりません。これは私が識別しなければならないものです。手動で行う必要がある場合、何を処理する必要がありますか?

編集 2 : リフレクションを使用して、両方の assesblies に名前が似ているクラス (NCombo と Combo という名前) があることを知りました。どちらも説明が長いです。これらのクラスが同一であることをどうにかして知ることができますか? つまり、NCombo のオブジェクトに何らかの機能があれば、Combo のオブジェクトで同じ機能を実現できます。オブジェクトはいくつかの場所で使用されているため、アプリを実行して各機能を確認することは非常に困難です。それを知る方法はありますか?

4

2 に答える 2

1

はい、あなたの質問は明らかです........

すべて手動で行う必要があります。

例: LB1 にはいくつかのコントロールがありますが、LB2 には同じコントロールやイベントがありません。手動で確認し、正しいコントロールとイベントを検索する必要があります。

私によると、そうするためのツールはありません。利用可能な場合でも、100% ではありません。

于 2013-04-24T06:49:07.037 に答える
0

両方を比較して、LB2 が LB1 と同じ機能を提供することを確認する必要があります。これは前もっての分析ステップであり、確かに時間がかかりますが、自分が何をしているのか、それが可能かどうかを理解するのにも役立ちます。これに基づいて、次のステップを決定できます。

それらが同じ機能を提供する場合、次のステップはコントロールを置き換え、おそらくコードを書き直し、すべてが期待どおりに機能し続けることを確認するのに十分な時間を費やすことです. これはリファクタリングと呼ばれます。もちろん、これは手動の仕事ですが、自動化されたテストを作成することもできます。

それらが同じ機能を提供しない場合は、次のステップを決定する必要があります。

于 2013-04-24T06:53:21.383 に答える