繁体   English   中英

VS2005库

[英]VS2005 Libraries

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

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

现在,假设ProjectB使用ProjectA的DLL,而ProjectC使用ProjectB的DLL。

当前,我必须为ProjectC添加对ProjectBProjectA引用。

有办法避免这种情况吗?

如果Project C不直接使用Project A中的任何类,则无需将Project C引用到ProjectA。

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

为了阐明“直接使用”-Project C代码中对类,接口,结构的任何引用-在Project A中定义的任何内容以及对在Project B中定义但从基类/继承的类或接口的引用项目A中定义的接口。

这就是使用DI(依赖注入)时的方法-项目B是应用程序(C)与服务实现(A)之间的合同。 它包含接口和POCO。

编译时,应用仅了解合同,运行时DI容器会加载实现。 更改实现不需要重新编译,可以通过交换dll来完成。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM