当你想将它们添加到你自己广泛使用的库中时,有没有办法限制第三方库(如NewtonSoft或AutoMapper)的使用?
E.g。假设我们有一个类库,其他几个项目用于某些任意事物,这个库又使用另一个第三方库。 这当然要求所有其他项目 - 只需要使用我们自己的项目来引用NewtonSoft或AutoMapper是否需要它。
有没有办法以某种方式构建这个(除了显而易见的部分,不使用第三方库)?
修改
假设我有一个Web项目A,需要在类库B中引用我的业务逻辑,类库使用AutoMapper,我想要一种不必在项目A中引用AutoMapper的方法。我相信这是不可能,但如果是,我想知道如何。
它可以解决问题,如果项目A和C使用相同库的不同版本会发生冲突,我知道这可以通过明确说明要使用的版本在webconfig中进行排序。但如果有一种更清洁的方式我想知道如何。
编辑#2
如果我将类库B中使用AutoMapper的区域标记为内部,该怎么办?在项目A中不需要引用AutoMapper,对吧?
这可行吗?
答案 0 :(得分:2)
你可以拆分你的图书馆。一部分(A)使用Newtonsoft和AutoMapper,另一部分(B)不使用。
可能A会依赖B。
所有其他项目可以决定是否使用A或B.如果他们需要基于Newtonsoft和AutoMapper的功能,他们将选择A.