用第二个库组件替换一个库组件,以便完全删除第一个库组件
本文关键字:组件 删除 第一个 替换 第二个 一个 | 更新日期: 2023-09-27 18:10:32
我有一个windows应用程序在。net中使用两个库(命名为LB1和LB2)。这两个库都是第三方库。现在我的客户希望我用LB2组件替换LB1组件,以便完全移除LB1组件。(可能是为了削减成本)
我需要检查用LB1实现的控件/方法/其他功能是否可以用LB2实现。
我该怎么做?
- 手动(我尝试过,但花了我很长时间才确定只有几个控制)
如果我能算出LB1。Component1可以替换为LB2。Component2,那么我如何更改整个代码?
- 手动(单独更换每个控件需要很长时间)
- 任何工具或脚本
希望我的问题是清楚的,如果不是,请留下评论,我会尽量详细说明。
Edit:客户端已经确认LB1中的每个控件在LB2中都有一个镜像副本,但不知道确切的映射(名称)。这就是我要确定的。如果我必须手动操作,那么我需要处理哪些事情?
编辑2:我使用反射,并知道我的两个程序集都有一个类(名为NCombo和Combo),其名称看起来相似。两者都有很长的描述。我能知道这些类是相同的吗?我的意思是,如果有一些功能与NCombo的对象,那么我可以实现相同的功能与Combo的对象。对象已经在多个地方使用,因此通过运行应用程序来检查每个功能将是非常困难的。有办法知道吗?
是的你的问题是明确的 .................
您只需要手动完成所有操作。
交货:LB1有一些控制,但LB2没有相同的控制或事件。您需要手动检查它并搜索正确的控件和事件。
就我而言,没有任何工具可以做到这一点。
您必须比较两者,并确保LB2提供与LB1相同的功能。这是一个预先的分析步骤,是的,这需要时间,但它也会帮助你理解你在做什么,以及它是否可能。在此基础上,你可以决定下一步。
如果它们提供相同的功能,下一步可能是替换控件,可能重写代码并花费足够的时间来确保一切都按预期工作。这叫做重构。当然,这是一项手工工作——尽管您可以编写自动化测试。
如果他们不提供相同的功能,你必须决定下一步该怎么做。