.net 针对不同版本的第三方库的实用程序设计

.net 针对不同版本的第三方库的实用程序设计,.net,versioning,libraries,software-design,code-reuse,.net,Versioning,Libraries,Software Design,Code Reuse,我继承了一个应用此类解决方案的项目: 第三方库有5个版本。解决方案中有5个项目,其中包含相应版本的第三方库的实用程序 解决方案中相当多的实用程序类对所有版本的第三方库都有相同的代码。通过这种方式解决了复制问题—所有项目都需要相同的代码文件存储在某个公共文件夹中,并添加为指向所有项目的链接 我不认为使用链接共享代码是最好的方法。 你能告诉我这是否是一种糟糕的方法吗?如果是,请告诉我解决这种代码重复的正确方法是什么 提前谢谢。这是否“坏”是相当主观的 链接的代码文件之所以可能是有原因的——有时有必要

我继承了一个应用此类解决方案的项目:

第三方库有5个版本。解决方案中有5个项目,其中包含相应版本的第三方库的实用程序

解决方案中相当多的实用程序类对所有版本的第三方库都有相同的代码。通过这种方式解决了复制问题—所有项目都需要相同的代码文件存储在某个公共文件夹中,并添加为指向所有项目的链接

我不认为使用链接共享代码是最好的方法。 你能告诉我这是否是一种糟糕的方法吗?如果是,请告诉我解决这种代码重复的正确方法是什么


提前谢谢。

这是否“坏”是相当主观的

链接的代码文件之所以可能是有原因的——有时有必要在多个项目之间共享这样的文件


根据第三方库在不同版本之间的不同程度,可能会编写一些包装器代码来处理这些差异并将其隔离开来

我曾考虑过编写包装器,但它不适用于我的情况,原因有二:1。API相当大(数百个类),编写包装器也不简单;2.编写包装器类会将重复问题转移到包装器上。您可能可以使用一两个模板自动完成大部分工作,生成接口,然后根据库版本启动所需的包装器实现。但是,是的,仍然有相当数量的工作要做。