VS2005库

时间:2012-01-09 13:25:34

标签: c# .net dll visual-studio-2005 libraries

因此,假设您有3个项目:

ProjectA - Class Library
ProjectB - Class Library
ProjectC - Console Application

现在让我们说ProjectB使用ProjectA的DLL,ProjectC使用ProjectB的DLL。

目前,我必须为ProjectB添加对ProjectAProjectC的引用。

有没有办法可以避免这种情况?

2 个答案:

答案 0 :(得分:0)

如果项目C没有直接使用项目A中的任何类,则不需要将项目C引用到项目A.

在运行时,您仍然需要Project A dll。

澄清“直接使用” - 项目C的代码中对类,接口,结构的任何引用 - 在项目A中定义的任何内容,以及对项目B中定义的类或接口的引用,但是继承自项目A中定义的基类/接口。

这是使用DI(依赖注入)时的方法 - 项目B是app(C)和服务实现(A)之间的契约。它包含接口和POCO。

编译时间应用程序只知道合同,运行时DI容器加载实现。更改实现不需要重新编译,可以通过交换dll来完成。

答案 1 :(得分:0)

没有其他办法。您必须在C中添加B和B的引用中的A引用,否则VS.NET将如何知道要使用哪个类库? 但是,我认为你不需要A中的A和B的引用。如果构建不成功,请检查代码 - 你可能在C中的某个地方使用A类。