很抱歉提出这个天真的问题,这对我来说很难描述。我有一个课堂图书项目说' A'这有逻辑,我在Project' B'通过汇编参考(添加了Project' A'的dll参考),它基本上是一个单元测试项目。项目' A'使用一些第三方组件,如Serilog,Newtonsoft。所以现在在Project' B'当我从Project' A'中调用类的方法时,我看到我的测试失败,文件未找到异常,并且它引用了汇编文件,如Serilog和NewtonSoft,它们在项目' A&#中39 ;. 所以我很困惑我的项目' B'不直接需要这些库中的任何一个,只需预测' A'需要他们。但仍然要逐一删除错误,我在Project' B'中添加了相同的程序集引用。同样也解决了错误。
但我不明白为什么我需要在Project' B'中再次添加相同的程序集。这种方式违背了我试图在单独的项目中抽象逻辑的目的,以便其他项目不必重复同样的事情?现在有了这个逻辑,我今后将要编写的所有其他单元测试项目都参考了Project' A'需要相同类型的装配参考,这似乎是一种开销。
如果这是相关的: 我的班级图书馆项目' A'是一个基于.NET Standard 2.0的项目和项目' B'是.NET Core 2.1控制台应用程序类型的项目。
如果这是一个重复的问题,请指导我,我想了解这是如何工作的。如果这个行为背后有一个C#概念,请告诉我,我会在上面阅读更多内容。此行为也会根据我们使用的第三方库的类型而有所不同,如果它的日志记录与任何其他类型的库相比?
提前致谢!